Visual studio CMake和Visual Studio中的一致生成类型

Visual studio CMake和Visual Studio中的一致生成类型,visual-studio,cmake,buildconfig,Visual Studio,Cmake,Buildconfig,是否可以将生成类型(调试,发布)从Visual Studio传递到CMake?目前,我正在通过两个步骤手动执行此操作: 将顶部项目目录中的CMakeLists.txt文件更改为: cmake_minimum_required (VERSION 3.1.0) set (MyConfig Release) set (PROJECT myProject) ... 从可视化研究下拉菜单中,我选择Releaseversion的构建。然后进行构建 我试图避免在VS和CMake中选择冲突的构建类型的错误。

是否可以将生成类型
(调试,发布)
从Visual Studio传递到CMake?目前,我正在通过两个步骤手动执行此操作:

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

    cmake_minimum_required (VERSION 3.1.0)
    set (MyConfig Release)
    set (PROJECT myProject)
    ...
    
  • 从可视化研究下拉菜单中,我选择
    Release
    version的构建。然后进行构建


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

    首先,不要通过将变量
    PROJECT
    设置为“Release”来更改构建类型。这将通过变量
    CMAKE\u BUILD\u TYPE
    完成

    不应在CMakeLists.txt中使用
    CMAKE\u BUILD\u TYPE
    变量,但应将其传递给CMAKE调用。它在命令行上通过
    cmake-DCMAKE\u BUILD\u TYPE=Release..
    传递。这只与支持单一构建类型的构建系统相关。 对于构建系统,如VisualStudio中的构建系统,您不需要全部。创建了多个配置,您可以在IDE中选择构建类型(在VS中下拉)


    进一步阅读:

    可能我不清楚这个问题:如何通过编程方式在
    CMakeLists.txt
    中确定我已从VS IDE中选择了
    Debug
    配置。也许根本不可能?不可能。CMake将为所有构建类型生成目标,您只需选择要运行的构建类型。