如何使CMake退出非0以响应警告"项目未使用手动指定的变量"?

时间:2017-03-09 00:34:33

标签: c++ jenkins cmake warnings

有没有办法让CMake退出时使用非0退出代码来响应警告"项目没有使用手动指定的变量"?

enter image description here

我喜欢严格的编程,最大警告和警告被视为错误,但是在出现此CMake警告的情况下,如果在某些构建管道的早期未被捕获,可能会导致意外的失败,可能会解决{{ 3}}不会触发非0 CMake退出代码,--no-warn-unused-cli与我正在寻找的相反。

作为CMake似乎不支持此功能的解决方法,我通过-Werror=dev检查" CMake Warning"来装饰我的C ++ Jenkins作业。如果在构建输出中找到该字符串,则使构建失败。

Text Finder plugin

1 个答案:

答案 0 :(得分:1)

我检查了代码,但您无法将此Warning变为错误。如果您查看cmake::RunCheckForUnusedVariables(),就会发出

  • 警告
    • CMake Warning ...

而不是

  • AUTHOR_WARNING
    • CMake Warning (dev) ...

因此,您无法通过命令行选项将正常警告提升为错误。

在这些情况下,命令行调用将始终返回0

您可以更改CMake的源代码,也可以在CMake脚本代码中重写未使用的变量。