option
命令在CMake中用于定义布尔型选项,通常用来为用户提供开启或关闭某个特性的选择。它的典型用法是:
option(<variable> "<help_text>" [value])
<variable>
:这是选项的名称,通常是一个大写字母的变量名,用来标识该选项。例如,可以是ENABLE_FEATURE_X
。<help_text>
:这是一段描述性文字,通常用于解释该选项的用途,会显示在CMake的配置界面或命令行输出中。[value]
:这是可选的初始值,可以是ON
或OFF
。如果不指定,默认为OFF
。
示例:
option(ENABLE_TESTS "Enable test suite" ON)
在此例中,ENABLE_TESTS
是选项名,“Enable test suite” 是帮助文本,而初始值设置为 ON
,即默认启用。用户可以通过在配置时修改此选项,例如使用 -DENABLE_TESTS=OFF
来关闭测试套件。
在CMake中,定义的选项变量可以通过以下几种方式修改:
1. 命令行传递参数
在运行 cmake
命令时,可以通过 -D
参数设置选项的值。例如:
cmake -DENABLE_TESTS=ON ..
这会将 ENABLE_TESTS
变量设置为 ON
。此方法通常用于脚本自动化和批量构建时。
2. 使用 CMake GUI(图形界面)
在 Windows 或其他支持 CMake GUI 的系统上,可以打开 CMake GUI,加载项目的源代码目录并配置。在选项列表中,直接勾选或取消勾选布尔型选项变量,来切换它的 ON
或 OFF
值。
3. 通过 CMake Cache 文件 (CMakeCache.txt
) 修改
在项目的构建目录中,CMakeCache.txt
文件存储了所有缓存变量的值。你可以直接编辑此文件中的相关选项变量的值,例如:
//Enable test suite
ENABLE_TESTS:BOOL=ON
修改后,重新运行 cmake
以应用更改。不过,直接修改 CMakeCache.txt
文件不太推荐,因为手动编辑可能导致错误或不一致。
4. 使用 ccmake
命令行工具(终端界面)
在 Unix 系统上,可以使用 ccmake
命令行工具。进入构建目录并执行:
ccmake ..
ccmake
提供一个基于终端的界面,可以导航并修改选项,适合不使用图形界面但希望查看和调整选项的场景。