如何将CMake未使用手动指定选项的警告转为致命错误?
将CMake未使用手动变量的警告转为致命错误的方法
有两种简洁有效的方式实现这个需求:
1. 命令行参数方式
直接在运行CMake时添加参数,把未使用命令行变量的警告转为致命错误:
cmake .. --warn-unused-cli --fatal-warnings
--warn-unused-cli确保CMake明确提示未使用的命令行传入变量--fatal-warnings把所有CMake警告升级为致命错误,直接终止配置流程
2. 项目配置文件方式(CMake 3.24+)
从CMake 3.24版本开始,支持通过内置变量直接开启该规则,在项目根目录的CMakeLists.txt开头添加:
cmake_minimum_required(VERSION 3.24) project(YourProjectName) # 将未使用的命令行变量警告转为致命错误 set(CMAKE_ERROR_ON_UNUSED_COMMAND_LINE_VARIABLES ON)
这种方式会把规则与项目配置绑定,无需每次运行CMake都手动加参数。
注意事项
- 若使用低于3.24的CMake版本,上述内置变量不可用,只能通过命令行参数方式实现。
- 两种方式都会在检测到未使用的手动指定变量时直接终止CMake配置,能快速暴露变量拼写错误等问题。
内容的提问来源于stack exchange,提问作者François Beaune
相关产品推荐
相关产品推荐

