Настройте 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 расширяется пустым расширением. Пожалуйста, взгляните на связанную страницу docgen. - person Micha Wiedenmann; 28.09.2014