使正确的 doxygen 文档成为构建要求

  • 本文关键字:构建 文档 doxygen doxygen
  • 更新时间 :
  • 英文 :


我正在使用Doxygen来记录一个越来越大的C++项目,我一直在想如何使Doxygen成为该项目的构建要求。换句话说,我希望我的构建过程失败并停止,如果任何类/方法/等没有成功记录到 Doxygen。我用make来建造。

例如,我希望这失败(即不构建(:

/**
* @bbrief Oops, tag does not exist, warning is issued and hence build fails.
*/
void f()
{
// Do something...
}

/**
* @brief Main function for program X
*
* @return End of execution status.
*
* ...
*
*/
int main()
{
f();
return 0;
}

但要构建:

/**
* @brief Okay, this is fine.
*
*/
void f()
{
// Do something...
}

/**
* @brief Main function for program X
*
* @return End of execution status.
*
* ...
*
*/
int main()
{
f();
return 0;
}

我尝试在互联网上搜索这种功能,但到目前为止一无所获。

在大多数情况下,会生成文档,但由于警告,文档不完整。我看到了几种可能性:

  • 为此,存在配置设置WARN_AS_ERROR(请参阅:http://www.doxygen.nl/manual/config.html#cfg_warn_as_error(。可能的缺点是,当遇到警告时,进程会直接停止。
  • 捕获文件中的警告并对其进行计数/查看文件是否 为空,并在此基础上确定构建是否成功或 不。

编辑

正如@inkychris所指出的,从doxygen版本1.9.0开始,WARN_AS_ERROR具有FAIL_ON_WARNINGS的可能性。从文档中:

WARN_AS_ERROR

如果WARN_AS_ERROR标签设置为YES则在遇到警告时,doxygen 将立即停止。如果WARN_AS_ERROR标签设置为FAIL_ON_WARNINGS则 doxygen 将继续运行,就好像WARN_AS_ERROR标签设置为 NO,但在 doxygen 过程结束时,doxygen 将返回 具有非零状态。

可能的值为:NOYESFAIL_ON_WARNINGS

最新更新