CMake 速查
共 25 条 CMake 常用命令与构建流程,涵盖基本结构、目标与依赖、变量与条件、构建流程、依赖与安装。 支持搜索与分类筛选,点击即可复制。
基本结构
CMakeLists.txt 是构建脚本。
| 命令 | 说明 |
|---|---|
| 指定最低 CMake 版本(写在最前) | |
| 声明项目与语言 | |
| 可执行目标 | |
| 静态库(SHARED 为动态库) | |
| 设置 C++ 标准 |
目标与依赖
现代 CMake 以 target 为中心。
| 命令 | 说明 |
|---|---|
| 链接库(PRIVATE/PUBLIC/INTERFACE) | |
| 头文件搜索路径 | |
| 编译选项 | |
| 编译宏定义 | |
| 包含子目录的 CMakeLists |
变量与条件
配置逻辑。
| 命令 | 说明 |
|---|---|
| 定义变量(引用用 ${MY_VAR}) | |
| 布尔开关(-DBUILD_TESTS=ON) | |
| 条件判断 | |
| 输出信息 | |
| 列表操作 |
构建流程
out-of-source 构建。
| 命令 | 说明 |
|---|---|
| 配置(在 build 目录生成构建文件) | |
| 并行构建 | |
| 指定构建类型 | |
| 安装(需 install 规则) | |
| 运行测试 |
依赖与安装
外部依赖查找。
| 命令 | 说明 |
|---|---|
| 查找系统依赖 | |
| 链接标准库组件 | |
| 构建时拉取依赖 | |
| 定义安装规则 | |
| 生成配置头文件 |
使用说明
CMake 速查:基本结构、目标与依赖、变量与条件、构建流程、依赖与安装;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基本结构、目标与依赖、变量与条件、构建流程、依赖与安装。
- 点「命令」列复制到 CMakeLists.txt 或终端。
- 采用 out-of-source 构建:cmake -S . -B build 再 cmake --build build。
- 现代写法以 target_* 为中心,尽量不用全局的 include_directories。
常见问题
- PRIVATE / PUBLIC / INTERFACE 有什么区别?
- PRIVATE 只用于本目标、PUBLIC 传递给自己和使用者、INTERFACE 只传给使用者。用错会导致头文件或链接找不到。
- 为什么要 out-of-source 构建?
- 把生成的中间文件放到独立 build 目录,源码目录保持干净、便于切换构建类型与清理。
- 需要联网吗?
- 速查内容本地可用;拉取依赖需联网。