Doxygen:输出版本号

Tho*_*ews 6 versioning doxygen

我想让 Doxygen 显示源代码版本号作为主页或标题标题的一部分。

目前,我们的代码将版本定义为文本文字:

/*!
 *  \brief  Text literal containing the build number portion of the
 *              ESG Application Version.
 */
static const char   build_version_text[] = "105";
Run Code Online (Sandbox Code Playgroud)

我在互联网上搜索了一种方法,可以将上述语句中的 105 放入 Doxygen 主页(或标题),但没有运气。

背景
我们有一个构建服务器,它更新文本字符串作为每晚构建操作的一部分。文件被更新,然后签入软件配置管理系统。构建服务器还能够生成文档。我们还希望开发人员能够检查代码,在他们的工作站上构建 Doxygen 文档。

我们使用的是 Doxygen 版本 1.8.11。

Art*_*ink 7

您要寻找的是PROJECT_NUMBER根据源中的值设置配置选项。我认为这是不可能做到的,但我要实现相同结果的方法如下。

由于项目版本在构建脚本运行时更新,因此让构建脚本生成一个额外的文件,例如Doxyversion. 文件的内容为:

PROJECT_NUMBER = "<versiontext>"
Run Code Online (Sandbox Code Playgroud)

更新您的主 Doxyfile 并替换

PROJECT_NUMBER =
Run Code Online (Sandbox Code Playgroud)

@INCLUDE = "<pathToDoxyversion>"
Run Code Online (Sandbox Code Playgroud)

编辑:

我能想到的不需要复制版本字符串的解决方案需要将文件中的版本字符串解析到环境变量中。然后你可以设置PROJECT_NUMBER

PROJECT_NUMBER=$(ENV_VAR)
Run Code Online (Sandbox Code Playgroud)

另一种选择是你可以调用 doxygen

( cat Doxyfile ; echo "PROJECT_NUMBER=$ENV_VAR" ) | doxygen
Run Code Online (Sandbox Code Playgroud)

这两种解决方案都要求开发人员在生成文档或将整个 doxygen 调用包装在脚本中时知道要执行此操作。还有潜在的可移植性问题。