Конфигурирайте Doxygen да скрие определени имена или ключови думи

Току-що започвам с Doxygen и проучих доста по този въпрос, така че ме извинете, ако има очевиден отговор.

Работя върху вграден проект, където функциите могат да бъдат маркирани като debug или nodebug преди типа на връщане. В повечето от нашите библиотеки използваме условен макрос, за да зададем libname_debug на debug или nodebug в горната част на файла и след това всяка функция се предшества с libname_debug.

За целите на документацията бих искал Doxygen да остави libname_debug извън документацията на функциите. Това претрупва списъка с функции и затруднява виждането на типовете връщане на всяка функция.

Възможно ли е да маркирате файла по някакъв начин, така че Doxygen да остави този символ? В момента опаковам всеки екземпляр в @cond/@endcond:

/** @cond */ libname_debug /** @endcond */

Но това е болка и добавя допълнителна маркировка към източника.


person tomlogic    schedule 25.06.2010    source източник


Отговори (2)


Можете да дефинирате макроси в конфигурационния файл на doxygen. Нещо като това

PREDEFINED += libname_debug
person Jens Gustedt    schedule 25.06.2010
comment
Благодаря, това беше отправната точка, която ми трябваше. Трябваше да актуализирам източника, за да не дефинирам libname_debug, ако вече е дефиниран, да го добавя към списъка PREDEFINED и след това да включа MACRO_EXPANSION и EXPAND_ONLY_PREDEF. Надявах се, че моделът *_debug в EXCLUDE_SYMBOLS ще работи, но това не беше така. - person tomlogic; 26.06.2010

Има и страница на doxygen, обясняваща как да се справите с подобни ситуации. Ще активирате MACRO_EXPANSION (което по подразбиране е NO), ще кажете на doxygen да разшири само някои макроси (EXPAND_ONLY_PREDEF) и ще добавите вашия символ като макрос с празно разширение:

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
PREDEFINED             = libname_debug=
person Micha Wiedenmann    schedule 04.10.2012
comment
+1 за яснотата. Но какво с това последно равно на libname_debug=? Дали това е правилно? Благодаря. - person DrBeco; 28.09.2014
comment
libname_debug= е правилно, това означава, че макросът libname_debug е разширен с празно разширение. Моля, разгледайте свързаната страница на doxgen. - person Micha Wiedenmann; 28.09.2014