如何让 CDash 忽略(某些?)编译器警告

How to make CDash ignore (certain?) compiler warnings

我正在使用 CMake / CDash 设置,总体上我很满意。

我也是“构建不应生成警告”的坚定拥护者。

但是,在一个特定平台上生成了一个编译器警告,我绝对不能对此采取任何措施(目前,除了对所涉及的代码进行完全重构之外)。

我可以接受 CDash 仪表板上的黄色框,但让我感到不安的是 CDash 认为编译器警告是构建阶段的失败,发送给我大意的邮件:

FAILED (w=1): <...> - Linux - Nightly

A submission to CDash for the project <...> has build warnings.

Project: <...>

Site: <...>

Build Name: Linux

Build Time: 2015-04-27T10:01:49 CEST

Type: Nightly

Warnings: 1

我如何设置 CDash,使编译器警告 报告为失败?

我只想在某些事情实际 失败...

时收到“失败”警告

请参阅 Testing with CTest 维基页面上的 Customizing CTest 部分。

简短摘要:在最外层的二进制构建目录中创建一个包含以下内容的文件CTestCustom.cmake

# Additional regular expressions for warning exceptions during build process
list (APPEND CTEST_CUSTOM_WARNING_EXCEPTION "warning_to_ignore")

warning_to_ignore 应该是一个正则表达式,匹配在一个特定平台上生成的一个编译器警告,您绝对不能对此做任何事情。