我正在使用Windows上的CMake构建一个C ++项目。我有一个默认关闭的选项,我使用CMake命令行参数将其覆盖为ON。我使用以下命令构建我的项目:
cmake.exe --config "Release" . -DANALYSIS=ON
cmake.exe --build ./ -- /p:configuration=Release
如果选项ANALYSIS
为ON,我会做一些额外的事情,并希望将ANALYSIS
设置回默认值(OFF)。我怎么能这样做?
答案 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。