使用宏将实体添加到doxygen组

时间:2016-08-31 09:50:20

标签: c++11 macros cmake doxygen

在一个非常大的代码库中,我想根据它们所定义的项目自动将类和函数添加到组中。幸运的是,我已经为每个导出的函数和类附加了一个编译器宏PROJECT_NAME_EXPORTED: / p>

enum PROJECT_NAME_EXPORTED MyEnum ....
class PROJECT_NAME_EXPORTED MyClass ....
PROJECT_NAME_EXPORTED void myFunction(int a) ....

宏遵循相同的约定,但对于每个子项目都是不同的,例如SOME_PROJECT_EXPORTEDOTHER_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组?

0 个答案:

没有答案