Cmake将选项设置回默认值

时间:2015-07-09 05:09:59

标签: c++ windows cmake

我正在使用Windows上的CMake构建一个C ++项目。我有一个默认关闭的选项,我使用CMake命令行参数将其覆盖为ON。我使用以下命令构建我的项目:

cmake.exe --config "Release" . -DANALYSIS=ON
cmake.exe --build ./ -- /p:configuration=Release

如果选项ANALYSIS为ON,我会做一些额外的事情,并希望将ANALYSIS设置回默认值(OFF)。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以从ANALYSIS

OFF设置为CMakeLists.txt
set(ANALYSIS OFF CACHE INTERNAL "" FORCE)

在没有set(<var> <value> CACHE ...)的情况下使用FORCE不会更新缓存变量,如果变量已经存在,那么它就是无操作。

也可以删除ANALYSIS

unset(ANALYSIS CACHE)

您仍然可以使用if(ANALYSIS)对其进行测试,这将给出预期的结果。

答案 1 :(得分:0)

选项ANALYSIS已缓存在CMakeCache.txt文件中。有多种方法可以覆盖缓存中的条目。例如,使用构建目录中的ccmake来启动交互式CMake GUI,并将ANALYSIS选项修改为OFF。