CMake和Visual Studio中的一致构建类型

时间:2016-10-02 07:37:28

标签: visual-studio cmake buildconfig

是否可以将构建类型(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版本的版本。然后进行构建。

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

1 个答案:

答案 0 :(得分:0)

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

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

进一步阅读:https://cmake.org/Wiki/CMake_Useful_Variables#Compilers_and_Tools