跳转到内容
新建笔记

CMake Presets

CMakePresets.json 是一个配置文件,用于定义一组预设的构建参数,这些参数可以用于配置CMake的构建过程。这个文件是CMake 3.14及以上版本引入的,它允许用户定义多个构建配置,而无需每次手动指定参数。

作用:

  1. 简化构建过程:通过预设配置,用户可以快速切换不同的构建环境,无需重复输入命令行参数。
  2. 统一团队构建环境:确保团队成员使用相同的构建配置,避免因环境差异导致的问题。
  3. 自动化构建:可以与持续集成/持续部署(CI/CD)系统结合使用,实现自动化构建。
  4. 多配置管理:方便地管理多个构建配置,如Debug、Release或针对不同平台的配置。
{
"version": { "major": 1, "minor": 0, "patch": 0 },
"configurePresets": [
{
"name": "default",
"generator": "Unix Makefiles",
"binaryDir": "${sourceDir}/build/default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "debug",
"generator": "Unix Makefiles",
"binaryDir": "${sourceDir}/build/debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
}
],
"buildPresets": [
{
"name": "default",
"configurePreset": "default",
"targets": ["all"],
"configuration": "Release"
}
],
"testPresets": [
{
"name": "default",
"buildPreset": "default",
"output": true
}
]
}
终端窗口
# 使用
# 在项目根目录或子目录中创建 `CMakePresets.json` 文件,并填写相应的配置。
cmake --preset=default ..
# 使用CMake构建命令和 `--preset` 参数来构建项目。
cmake --build . --preset=default
# 如果定义了测试预设,可以使用以下命令运行测试。
cmake --test . --preset=default
cmake --preset=gcc-toolchain ..
# --preset=gcc-toolchain: 指定使用名为gcc-toolchain的预设配置。这个预设配置是在CMakePresets.json文件中定义的。
# ..: 这是相对路径,指的是当前目录的上一级目录。