How to make preprocessor doxygen overwrite to subdirectories?

I do not get preprocessor doxygen to include files recursively. How to do it?

I compiled an example consisting of two headers and a Doxygen file:

subdir/example.h subdir2/example_include.h Doxygen 

This is a list of example.h :

 #include "example_include.h" typedef struct { float array[ARRAY_LENGTH * 2 - 1]; #if CONDITION == MY_FALSE char optional_char; #endif } ExampleType; 

This is a list of example_include.h :

 #define MY_FALSE (0u) #define MY_TRUE (1u) #define CONDITION MY_TRUE #define ARRAY_LENGTH (20u) 

My changes regarding the default Doxygen configuration file (using Doxygen 1.8.2):

 INPUT = . RECURSIVE = YES GENERATE_XML = YES MACRO_EXPANSION = YES INCLUDE_PATH = . 

Doxygen XML Output for ExampleType (file: xml/struct_example_type.xml ):

 <?xml version='1.0' encoding='UTF-8' standalone='no'?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.2"> <compounddef id="struct_example_type" kind="struct" prot="public"> <compoundname>ExampleType</compoundname> <sectiondef kind="public-attrib"> <memberdef kind="variable" id="struct_example_type_1aa7b8f391fc62f93c34c2b305542db339" prot="public" static="no" mutable="no"> <type>float</type> <definition>float ExampleType::array[ARRAY_LENGTH *2-1]</definition> <argsstring>[ARRAY_LENGTH *2-1]</argsstring> <name>array</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="D:/Sandboxes/ALN_Alignment_SRR295/04_Engineering/01_Source_Code/algo/exmaple/subdir/example.h" line="5" bodyfile="D:/Sandboxes/ALN_Alignment_SRR295/04_Engineering/01_Source_Code/algo/exmaple/subdir/example.h" bodystart="5" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="struct_example_type_1a8428371f21c1fb8fd28cb1062c7b1152" prot="public" static="no" mutable="no"> <type>char</type> <definition>char ExampleType::optional_char</definition> <argsstring></argsstring> <name>optional_char</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="D:/Sandboxes/ALN_Alignment_SRR295/04_Engineering/01_Source_Code/algo/exmaple/subdir/example.h" line="7" bodyfile="D:/Sandboxes/ALN_Alignment_SRR295/04_Engineering/01_Source_Code/algo/exmaple/subdir/example.h" bodystart="7" bodyend="-1"/> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <location file="D:/Sandboxes/ALN_Alignment_SRR295/04_Engineering/01_Source_Code/algo/exmaple/subdir/example.h" line="4" bodyfile="D:/Sandboxes/ALN_Alignment_SRR295/04_Engineering/01_Source_Code/algo/exmaple/subdir/example.h" bodystart="3" bodyend="9"/> <listofallmembers> <member refid="struct_example_type_1aa7b8f391fc62f93c34c2b305542db339" prot="public" virt="non-virtual"><scope>ExampleType</scope><name>array</name></member> <member refid="struct_example_type_1a8428371f21c1fb8fd28cb1062c7b1152" prot="public" virt="non-virtual"><scope>ExampleType</scope><name>optional_char</name></member> </listofallmembers> </compounddef> </doxygen> 

Actually, I would expect ARRAY_LENGTH be replaced with (20u) , and optional_char should not be a member of the structure.

My question seems to be related to this , however, the only promising answer is the @Phineas comment, which said that this is a problem that was fixed in doxygen version 1.7 +0.4. However, I still see the same behavior. What to do with it?

Btw - "usecase" is simple: it's a visual studio project. The compiler includes all the files as desired, since they are all contained in the project definition.

+4
source share
1 answer

Did RECURSIVE set to YES?

 # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES 

in Doxyfile

a source

+3
source

All Articles