CMake 学习笔记(控制生成 Release 和 Debug)
CMake 支持4中Build type。分别是:
- Debug : 调试模式,带调试信息,没有任何的优化
- Release : 没有调试信息,速度优化
- RelWithDebInfo:执行部分的优化,带有调试信息
- MinSizeRel : 生成的可执行文件的体积最小
下面的例子使用 MSYS2 里面的cmake 来演示。
用个非常简单的例子:
#include <cstdlib>
#include <iostream>
#include <string>
std::string say_hello() { return std::string("Hello, CMake world!"); }
int main() {
std::cout << say_hello() << std::endl;
return EXIT_SUCCESS;
}
CMakeLists.txt 如下:
# set minimum cmake version
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# project name and language
project(recipe-01 LANGUAGES CXX)
add_executable(hello-world hello-world.cpp)
执行下面的例子:
cmake .. -G "MinGW Makefiles" -D CMAKE_MAKE_PROGRAM=mingw32-make -D CMAKE_BUILD_TYPE="Debug"
mingw32-make.exe
这个例子执行后,生成的就是 Debug 版的可执行文件。其他同理。
如果要生成Visual stdio 的工程文件。上面说的方法就不适用了。需要用另一个变量来控制。下面是例子。文章来源:https://www.toymoban.com/news/detail-532927.html
cmake .. -G"Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES="Release;Debug"
执行这条语句后生成的项目文件就支持 Release 和 Debug 两种生成版本。文章来源地址https://www.toymoban.com/news/detail-532927.html
到了这里,关于CMake 学习笔记(控制生成 Release 和 Debug)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!