目录

一、单配置生成器CMAKE_BUILD_TYPE

1.CMakeLists.txt

2.构建

(1)Release

(2)Debug

 二、复合配置生成器CMAKE_CONFIGURATION_TYPES

1.Release版本VS2019 x64

2.Release/Debug版本VS2017 x64

(1)构建

(2)编译Release

(3)编译Debug


一、单配置生成器CMAKE_BUILD_TYPE

        CMake可以配置构建类型,例如:Debug、Release等,控制生成构建系统使用的配置变量 是 CMAKE_BUILD_TYPE 。该变量默认为空,CMake识别的值为:

  • Debug:用于在没有优化的情况下,使用带有调试符号构建库或可执行文件。
  • Release:用于构建的优化的库或可执行文件,不包含调试符号。
  • RelWithDebInfo:用于构建较少的优化库或可执行文件,包含调试符号。
  • MinSizeRel:用于不增加目标代码大小的优化方式,来构建库或可执行文件。

1.CMakeLists.txt

cmake_minimum_required(VERSION 3.5 FATAL_ERROR)

project(setType LANGUAGES CXX)

if(NOT CMAKE_BUILD_TYPE)
	set(CMAKE_BUILD_TYPE release CACHE STRING "Build Type" FORCE)
endif()

message(STATUS "Build type:${CMAKE_BUILD_TYPE}")

message(STATUS "Debug configuration:${CMAKE_CXX_FLAGS_DEBUG}")

message(STATUS "release configuration:${CMAKE_CXX_FLAGS_RELEASE}")

message(STATUS "release configuration with debug info:${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")

message(STATUS "minimal release configuration:${CMAKE_CXX_FLAGS_MINSIZEREL}")

2.构建

(1)Release

        直接cmake ..构建:

(2)Debug

        通过-D来设置CMAKE_BUILD_TYPE :

cmake -D CMAKE_BUILD_TYPE=debug ..

 二、复合配置生成器CMAKE_CONFIGURATION_TYPES

        CMake支持复合配置生成器,可以使用 CMAKE_CONFIGURATION_TYPES 变量对这些生成器的可用配置类型进行调整,CMAKE_CONFIGURATION_TYPES 变量接受一个值列表。

        使用CMAKE_BUILD_TYPE 并不能修改VS的配置,用VS打开后默认是debug x64,而使用CMAKE_CONFIGURATION_TYPES可以修改VS的默认配置。

1.Release版本VS2019 x64

cmake .. -D CMAKE_CONFIGURATION_TYPES="Release"

2.Release/Debug版本VS2017 x64

(1)构建

cmake .. -G"Visual Studio 15 2017 Win64" -D CMAKE_CONFIGURATION_TYPES="Release;Debug"

        该命令将为Release和Debug配置生成一个构建树。然后可以使用 --config 标志来决定构建这两个中的哪一个。

 (2)编译Release

cmake --build . --config Release

 (3)编译Debug

cmake --build . --config Debug

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐