在一个非常大的代码库中,我想根据它们所定义的项目自动将类和函数添加到组中。幸运的是,我已经为每个导出的函数和类附加了一个编译器宏PROJECT_NAME_EXPORTED
: / p>
enum PROJECT_NAME_EXPORTED MyEnum ....
class PROJECT_NAME_EXPORTED MyClass ....
PROJECT_NAME_EXPORTED void myFunction(int a) ....
宏遵循相同的约定,但对于每个子项目都是不同的,例如SOME_PROJECT_EXPORTED
,OTHER_EXPORTED
。
所以我在doxygen的CMake中列出了所有项目的列表:
foreach(name ${LIST_OF_PROJECTS})
SET(DOXYGEN_PREDEFINED_MACROS "${DOXYGEN_PREDEFINED_MACROS}\"${name}_EXPORTED=(void)/** @ingroup ${name}*/\" \\ \n")
endforeach()
这几乎可以正常工作,类正确列出,但函数列出了两种返回类型(实际的一个和我在上面注入的(void)):
void void myFunction(int a)
罪魁祸首显然是注入了(void)
,但是如果我将其删除,那么这些类就不再正确地添加到该组中了。
是否有不同的"虚拟"在这里添加的词或完全不同的解决方案,用于自动将项目中的所有实体添加到相应的doxygen组?