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

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


如果ANALYSIS选项为ON,我还要执行其他一些操作,并想将ANALYSIS设置回默认值(OFF)。我怎样才能做到这一点?

最佳答案

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

set(ANALYSIS OFF CACHE INTERNAL "" FORCE)


在不使用set(<var> <value> CACHE ...)的情况下使用FORCE不会更新缓存变量,如果该变量已经存在,则为空操作。

也可以删除ANALYSIS

unset(ANALYSIS CACHE)


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

关于c++ - CMake设置选项恢复为默认,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31308630/

10-11 15:54