У меня есть много проектов с файлом version.h.in
, который CMake преобразует для динамического добавления текущей версии проекта.
Вот пример version.h.in
:
#define LPP_VERSION_MAJOR @LPP_VERSION_MAJOR@
#define LPP_VERSION_MINOR @LPP_VERSION_MINOR@
#define LPP_VERSION_PATCH @LPP_VERSION_PATCH@
#define LPP_VERSION_BUILD @LPP_VERSION_BUILD@
#if LPP_VERSION_PATCH
#define LPP_VERSION_STRING "@LPP_VERSION_MAJOR@.@LPP_VERSION_MINOR@.@LPP_VERSION_PATCH@"
#else
#define LPP_VERSION_STRING "@LPP_VERSION_MAJOR@.@LPP_VERSION_MINOR@"
#endif
int get_major_version();
int get_release_version();
int get_patch_version();
char const * get_version_string();
Так или иначе, Doxygen 1.8.13 ничего не находит в этом файле.Похоже, это игнорируется.
Я использую EXTENSION_MAPPING
и FILE_PATTERNS
, но, похоже, это не помогает:
EXTENSION_MAPPING = h.in=C++ \
hpp.in=C++
FILE_PATTERNS = *.h \
*.h.in \
*.hpp \
*.hpp.in \
*.cpp \
*.c
Могу ли я что-то упустить?
Обратите внимание, что файл version.h.in
появляется на выходе Doxygen.Так что FILE_PATTERNS
работает как положено.Тем не менее, он ничего не обнаруживает в файле.Например, у меня есть запись \file
, например, так:
/** \file
* \brief This library version information.
*
* ...snip...
*/
Краткое и полное описания файлов игнорируются.
ВАЖНОЕ ПРИМЕЧАНИЕ: я пытаюсь получить version.h.in
файл.Я знаю, что вместо этого я мог бы рассказать Doxygen о version.h
, но тогда в документации изменилась бы версия, а это не то, что мне нужно.
Обновление
Как упомянуто @anarthal в комментарии,похоже, проблема в том, что EXTENSION_MAPPING
требуется одно расширение.Не двойное расширение.
Я подал отчет об ошибке на github.
Для моего проекта я могу фактически использовать .in
(то есть in=C++
), так как ятолько C ++, но я надеюсь, что это будет исправлено в какой-то момент.