[possible bug, Doxygen V1.8.7]: only 1 preprocessor run, problems with remapping of defines in C and function switches -
[possible bug, Doxygen V1.8.7]: only 1 preprocessor run, problems with remapping of defines in C and function switches -
actually i'm using doxygen 1.7.6.1 , i've got no problems remapping of defines function switches. want utilize version 1.8.7, seems there 1 run evaluate preprocessor defines. sure enable_preprocessing = yes
set in doxyfile. causes in missing function documentation in generated output upgraded doxyfile of version 1.7.6.1 doxygen -u , run doxygen next example:
foo_bar1.c:
/** * \file foo_bar1.c * * \author foo_bar * * \brief foo bar * * * \addtogroup foo_bar ... bar * \{ * \ingroup foo **/ #include "project.h" #if (1u == use_foo_bar_function1) /**************************************************************************//** * \brief foo bar * * special * * \param[in] foo * special * * * \param[out] bar * more special * *******************************************************************************/ void foo_bar_function1(int foo, int bar) { } /* foo_bar_function1 */ #endif /* use_foo_bar_function1 */ /** \} **/ /* doxygen */ /*-- eof --*/
foo_bar1.h:
/** * \file foo_bar1.h * * \author foo_bar * * \brief foo bar * * \addtogroup foo_bar special bar * \{ * \ingroup foo **/ #include "project.h" #define use_foo_bar_function1 use_foo_function1 /************************************************************************** * f u n c t o n d e c l r t o n s **************************************************************************/ #if (1u == use_foo_bar_function1) void foo_bar_function1(int foo, int bar); #endif /* use_foo_bar_function1 */ /** \} **/ /* doxygen */ /*-- eof --*/
project.h:
/* function switches */ #define use_foo_function1 1u #include foo_bar1.h
doxyfile:
input = foo_bar1.h \ foo_bar1.c include_path = .
so there in foo_bar1.h remapping of use_foo_function1 use_foo_bar_function1 not identifyed doxygen. there no function documentation in generated refman.rtf , in html output. if replace use_foo_function1 in project.h, function documentation shown.
new project.h:
/* function switches */ #define use_foo_bar_function1 1u #include foo_bar1.h
now working before. leads me conclusion, preprocessor evaluated 1 time. don't know if thats wanted, in version 1.7.6.1 works correctly. thats no solution project.
is there way workaround or else can utilize actual version way in version 1.7.6.1?
thanks help.
c doxygen c-preprocessor
Comments
Post a Comment