cmake 构建类型:Debug、Release、RelWithDebInfo 和 MinSizeRel
cmake 构建工具中 CMAKE_BUILD_TYPE
变量支持下面四种构建类型:
Debug
:调试版本,没有优化,开启断言,最全调试信息。Release
:正式版本,最高优化,没有调试信息,关闭断言。RelWithDebInfo
:既优化又能调试的版本,关闭断言。MinSizeRel
:最小体积版本,目的在于优化体积而不是优化速度。
两种设置方法
- 在命令行中设置:
1 | cmake -DCMAKE_BUILD_TYPE=Debug/Release/... |
- 在 CMakeLists.txt 里设置:
1 | SET(CMAKE_BUILD_TYPE "Debug/Release/...”) |
注意:选项需要加上双引号才能生效。
不同类型具有各自默认编译选项,也可自定义项目源码中的编译选项,下面是源码 dyninst/cmake/optimization.cmake
文件里对编译选项的描述:
1 | set(CMAKE_C_FLAGS_DEBUG "-Og -g3") |
从上面配置可以看出,不同构建类型对 -O
、-g
选项使用的等级不同,也可以自定义修改选项等级。