CMake可以配置构建类型,例如:Debug、Release等。配置时,可以为Debug或Release构建设置相
关的选项或属性,例如:编译器和链接器标志。控制生成构建系统使用的配置变量
是 CMAKE_BUILD_TYPE 。该变量默认为空,CMake识别的值为:
- Debug:用于在没有优化的情况下,使用带有调试符号构建库或可执行文件。
- Release:用于构建的优化的库或可执行文件,不包含调试符号。
- RelWithDebInfo:用于构建较少的优化库或可执行文件,包含调试符号。
- MinSizeRel:用于不增加目标代码大小的优化方式,来构建库或可执行文件。
cmake_minimum_required (VERSION 3.1)
project (demo LANGUAGES C CXX)
# we default to Release build type
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 "C flags, Debug configuration: ${CMAKE_C_FLAGS_DEBUG}")
message(STATUS "C flags, Release configuration: ${CMAKE_C_FLAGS_RELEASE}")
message(STATUS "C flags, Release configuration with Debug info: ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
message(STATUS "C flags, minimal Release configuration: ${CMAKE_C_FLAGS_MINSIZEREL}")
message(STATUS "C++ flags, Debug configuration: ${CMAKE_CXX_FLAGS_DEBUG}")
message(STATUS "C++ flags, Release configuration: ${CMAKE_CXX_FLAGS_RELEASE}")
message(STATUS "C++ flags, Release configuration with Debug info: ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
message(STATUS "C++ flags, minimal Release configuration: ${CMAKE_CXX_FLAGS_MINSIZEREL}")
project (demo)
add_executable(main main.cpp)
CMake允许配置不同的构建类型,如Debug、Release、RelWithDebInfo和MinSizeRel。Debug模式适用于调试,包含调试符号;Release模式优化代码,不含调试信息;RelWithDebInfo兼顾优化和调试;MinSizeRel则注重减小目标文件大小。通过设置CMAKE_BUILD_TYPE变量可实现这些配置。
600

被折叠的 条评论
为什么被折叠?



