【问题标题】:Modifying variables in cmake-gui在 cmake-gui 中修改变量
【发布时间】:2017-01-16 23:34:00
【问题描述】:

Here 据说要为每个构建(调试和发布)运行 cmake,建议将CMAKE_BUILD_TYPE 作为参数传递给cmake,例如cmake -DCMAKE_BUILD_TYPE=Release ..cmake -DCMAKE_BUILD_TYPE=Debug .. 在 cmake-gui 中相当于什么?当我按“配置”时,窗口中会弹出一些变量,在这里我将创建一个新的CMAKE_BUILD_TYPE=Debug,然后按“生成”是否相当于上述命令行传递?

谢谢

【问题讨论】:

    标签: c++ cmake cmake-gui


    【解决方案1】:

    是的。是等价的。

    请注意,CMAKE_BUILD_TYPE 仅适用于 Unix Makefiles 等单一配置生成器。像 Visual Studio 这样的生成器会生成多配置项目,而正在编译的项目的选择是在 IDE 中完成的。

    编辑: 如 cmets 所述,与我在下面建议的不同,CMAKE_BUILD_TYPE 不是高级变量,实际上需要在 GUI 中添加。

    不确定,但CMAKE_BUILD_TYPE 可能已经作为高级选项存在:选中 GUI 中的“高级”复选框以显示所有变量。

    【讨论】:

    • 感谢您的回复。仅供参考:CMAKE_BUILD_TYPE 在“高级”下不可用。我也尝试将 -DCMAKE_BUILD_TYPE="Debug" 传递给 cmake-gui,但似乎它无法识别它,唯一的方法是从 GUI 修改变量。您关于单配置和多配置的注释为我在此处stackoverflow.com/questions/39401044/… 的另一个问题提供了亮点
    • 再次感谢您。我也想到了,例如当 Visual Studio 用作配置生成器时,CMAKE_INSTALL_PREFIX 可能没用。是否有一些应该避免的变量列表,例如对于 Visual Studio?谢谢。
    • CMAKE_INSTALL_PREFIX 在 Visual Studio 用作配置生成器时并非没用:它由解决方案生成的 INSTALL 项目使用。 AFAIK 没有 Visual Studio 生成器未使用的变量的真实列表。与 Unix 或 OSX 相关的变量对于 Visual 示例来说实际上是无用的,但它们只会在生成过程中被忽略,因此根本没有理由避免它们
    猜你喜欢
    • 2010-11-12
    • 2017-05-16
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2020-04-27
    相关资源
    最近更新 更多