分享免费的编程资源和教程

网站首页 > 技术教程 正文

cmake里面的multi config

goqiw 2024-11-27 13:58:45 技术教程 11 ℃ 0 评论

一般的cmake可以使用CMAKE_BUILD_TYPE来选择Release还是Debug版本。

而对于generator是Visual Studio或者Xcode,cmake则支持Multi configuration。

这使得开发人员可以直接在IDE里面选择使用Debug或者Release。

这边我们使用Visual Studio和Ninja来比较一下区别。


首先编写一个简单的CMakeLists.txt

cmake_minimum_required(VERSION 3.16.0)

project(HelloWorld)

add_executable(HelloWorld main.cpp)

main.cpp也是一个简单的HelloWorld。

#include <iostream>

using namespace std;

int main() {
  cout << "HelloWorld" << endl;
  return 0;
}

首先尝试使用Visual Studio的Multi-config

也可以打开VS的.sln项目文件。


可以在里面选择不同的配置进行编译和运行。


接着使用ninja,使用Ninja在cmake里面并不支持MultiConfig(新的cmake版本提供Ninja MultiConfig来支持MultiConfig)。所以在cmake启动的时候就需要指定-DCMAKE_BUILD_TYPE=Debug/Release。

这边使用Debug模式。

如果需要重新生成Release模式的,则需要重新配置cmake。

Multi config确实提供了便利,可以在一个IDE里面自由的切换Debug还是Release。

不使用Multi config,其实也不是那么麻烦,可以新建不同的目录来生成Debug和Release模式的环境。在不同目录下面编译,来区分Debug还是Release。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表