Com*_*sMS 11 c++ cmake compiler-warnings
如何配置 CMake 以将编译器警告视为构建期间的错误?
我知道可以-Werror
通过诸如 之类的命令手动配置编译器的命令行选项target_compile_options
,但我更喜欢不需要摆弄依赖于工具的选项的便携式解决方案。
Com*_*sMS 11
这可以在 CMake 3.24 及更高版本中通过COMPILE_WARNING_AS_ERROR
target 属性进行配置。
例如,要为my_app
目标启用警告作为错误,您可以编写:
set_property(TARGET my_app PROPERTY COMPILE_WARNING_AS_ERROR ON)
Run Code Online (Sandbox Code Playgroud)
您还可以通过变量为项目中的所有目标设置全局默认值CMAKE_COMPILE_WARNING_AS_ERROR
:
set(CMAKE_COMPILE_WARNING_AS_ERROR ON)
add_executable(my_app1 [...])
add_executable(my_app2 [...])
add_executable(my_app3 [...])
Run Code Online (Sandbox Code Playgroud)
如果用户觉得 CMakeLists.txt 文件中的设置很烦人,他们仍然可以使用--compile-no-warning-as-error
配置选项覆盖它。
归档时间: |
|
查看次数: |
11408 次 |
最近记录: |