1
有没有办法使CMake退出非0退出代码响应警告“手动指定的变量未被项目使用”?如何使CMake退出非0以响应警告“手动指定的变量未被项目使用”?
我喜欢与视为错误警告最大和警告严谨的编程,但在这个CMake的警告,这要是在某些构建管道未捕获早期可引起令人惊讶的失败的道路的存在,可能的修复-Werror=dev
不会触发非0 CMake退出代码和--no-warn-unused-cli
是我所寻找的相反。
作为CMake似乎不支持此功能的解决方法,我装饰了我的C++ Jenkins作业,使用Text Finder plugin检查“CMake Warning”以在构建输出中找到该字符串时失败构建。
你能告诉你如何在詹金斯打电话给CMake吗?如果CMake脚本文件中存在“真正的错误”,如语法错误,它是否工作? – Florian
我在Jenkins中使用命令“cmake -Werror = dev -GNinja -DCMAKE_BUILD_TYPE = Debug -DAddressSanitizerMode = ON ..”调用CMake,它确实可以检测真正的错误,如语法错误。这个问题是因为意识到如果“-DAddressSanitizerMode = ON”有一天会拼错,CMake会退出0,地址会被unsanitized,并且一个可以被-fsanitize = address捕获的内存泄漏可以被部署到生产环境中。 –