将set选项设置为默认值

Cmake set option back to default

本文关键字:默认值 设置 选项 set      更新时间:2023-10-16

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

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

如果选项ANALYSIS是ON,我做了一些额外的事情,并希望将ANALYSIS设置回默认值(OFF)。我该怎么做呢?

您可以将CMakeLists.txt中的ANALYSIS设置为OFF:

set(ANALYSIS OFF CACHE INTERNAL "" FORCE)

使用set(<var> <value> CACHE ...)而不使用FORCE不会更新缓存变量,如果变量已经存在,则为no-op。

也可以删除ANALYSIS

unset(ANALYSIS CACHE)

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

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