CMake Presets 构建配置
📚 共计 30 章节
01
CMake Presets 概述
什么是 CMake Presets,为什么需要它,解决的问题与核心价值。
概念
入门
02
Presets 文件结构
CMakePresets.json 与 CMakeUserPresets.json 的区别与作用。
文件
结构
03
基础配置项
name、hidden、vendor、version 等顶层字段详解。
字段
顶层
04
构建预设 (buildPresets)
定义构建类型、生成器、构建目录等。
构建
生成器
05
配置预设 (configurePresets)
定义编译器、缓存变量、工具链等。
配置
工具链
06
测试预设 (testPresets)
定义测试配置、过滤、并行度等。
测试
CTest
07
打包预设 (packagePresets)
定义 CPack 打包配置。
打包
CPack
08
工作流预设 (workflowPresets)
串联多个预设步骤实现自动化流水线。
流水线
自动化
09
条件与继承
使用 condition 和 inherits 实现预设的复用与动态选择。
继承
条件
10
环境变量管理
在 Presets 中设置、覆盖和传递环境变量。
环境变量
配置
11
缓存变量 (cacheVariables)
定义 CMake 缓存变量,如 CMAKE_BUILD_TYPE。
缓存
变量
12
工具链文件 (toolchainFile)
在 Presets 中指定工具链文件路径。
工具链
交叉编译
13
架构与平台配置
针对不同架构(x86、ARM)和平台(Windows、Linux、macOS)的预设方案。
架构
平台
14
多配置生成器
处理 Visual Studio、Xcode 等多配置生成器的 Presets 配置。
多配置
IDE
15
预设的可见性与作用域
hidden 预设与公开预设的设计模式。
可见性
设计
16
宏与变量替换
使用 ${sourceDir}、${presetName} 等内置变量。
宏
替换
17
文件路径处理
sourceDir、binaryDir、installDir 的配置技巧。
路径
目录
18
错误与警告控制
配置 CMAKE_WARN_DEPRECATED 等编译选项。
警告
编译
19
与 IDE 集成
Visual Studio、CLion、VS Code 对 CMake Presets 的支持。
IDE
集成
20
CI/CD 集成
在 GitHub Actions、GitLab CI、Jenkins 中使用 Presets。
CI/CD
自动化
21
团队共享策略
如何将 Presets 文件纳入版本控制并规范团队使用。
团队
版本控制
22
用户级预设
CMakeUserPresets.json 的本地覆盖与个人偏好。
用户
本地
23
预设的验证与调试
使用 cmake --preset 命令测试预设配置。
调试
验证
24
跨平台兼容性
编写一套 Presets 适配 Windows、Linux、macOS。
跨平台
兼容
25
高级继承链
多层继承与条件覆盖的复杂场景。
继承
高级
26
与 FetchContent 结合
在 Presets 中配置外部依赖管理。
依赖
FetchContent
27
与 CTest 集成
通过 testPresets 自动化测试流程。
CTest
测试
28
与 CPack 集成
通过 packagePresets 自动化打包流程。
CPack
打包
29
性能优化
通过 Presets 配置并行构建、ccache、LTO 等。
性能
优化
30
实战案例
从零构建一个完整项目的 Presets 配置体系。
实战
完整项目