【问题标题】:Consistent build type in CMake and Visual StudioCMake 和 Visual Studio 中的一致构建类型
【发布时间】:2016-10-02 07:37:27
【问题描述】:

是否可以将构建类型(Debug, Release) 从 Visual Studio 传递到 CMake?目前我正在通过两步过程手动执行此操作:

  1. 将顶部项目目录中的CMakeLists.txt文件更改为:

    cmake_minimum_required (VERSION 3.1.0)
    set (MyConfig Release)
    set (PROJECT myProject)
    ...
    
  2. 从 Visual Studion 下拉菜单中,我选择 Release 版本的构建。然后进行构建。

我试图避免在 VS 和 CMake 中选择冲突的构建类型的错误。

【问题讨论】:

    标签: visual-studio cmake buildconfig


    【解决方案1】:

    首先,您不会通过将变量PROJECT 设置为“Release”来更改构建类型。这将通过变量CMAKE_BUILD_TYPE 来完成。

    CMAKE_BUILD_TYPE 变量不应在 CMakeLists.txt 中使用,但应将其传递给 CMake 调用。它通过cmake -DCMAKE_BUILD_TYPE=Release .. 在命令行上传递。这仅与支持单一构建类型的构建系统相关。 对于构建系统,例如来自 Visual Studio 的系统,您不需要全部。创建了多个配置,您在 IDE 中选择构建类型(在 VS 中下拉)。

    延伸阅读:https://cmake.org/Wiki/CMake_Useful_Variables#Compilers_and_Tools

    【讨论】:

    • 可能我不清楚这个问题:我如何以编程方式在CMakeLists.txt 中确定我从VS IDE 中选择了Debug 配置。也许根本不可能?
    • 不可能。 CMake 将为所有构建类型生成目标,您只需选择要运行的目标。
    猜你喜欢
    • 2017-01-01
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多