【问题标题】:Cmake set option back to defaultCmake将选项设置回默认值
【发布时间】:2015-09-27 07:20:21
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ windows cmake


    【解决方案1】:

    您可以从您的CMakeLists.txtANALYSIS 设置为OFF

    set(ANALYSIS OFF CACHE INTERNAL "" FORCE)
    

    使用不带FORCEset(<var> <value> CACHE ...) 不会更新缓存变量,如果变量已经存在,则为空操作。

    也可以删除ANALYSIS

    unset(ANALYSIS CACHE)
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2023-03-18
        • 1970-01-01
        • 2017-04-28
        • 1970-01-01
        • 1970-01-01
        • 2014-11-27
        • 1970-01-01
        • 1970-01-01
        • 2014-12-25
        相关资源
        最近更新 更多