CMake 常用命令行教程

配置、构建、测试、安装与常见排错的 CMake 命令行速查。

本文是 CMake 命令行常用操作速查,适合在终端直接配置、构建、测试与安装。

1. 基础配置与构建(单配置生成器)

适用于 Ninja、Unix Makefiles 等“单配置”生成器。

Debug 构建

1
2
3
4
cmake -S . -B build/debug \
  -DCMAKE_BUILD_TYPE=Debug

cmake --build build/debug

Release 构建

1
2
3
4
cmake -S . -B build/release \
  -DCMAKE_BUILD_TYPE=Release

cmake --build build/release

建议 Debug / Release 使用不同的 build 目录,避免缓存和配置相互污染。

2. 选择生成器与并行构建

1
2
3
4
5
# 指定生成器
cmake -S . -B build -G Ninja

# 并行构建(具体参数取决于构建工具)
cmake --build build -j 8

3. 多配置生成器(Visual Studio / Xcode)

多配置生成器不使用 CMAKE_BUILD_TYPE,需在构建时指定配置:

1
2
3
cmake -S . -B build -G "Visual Studio 17 2022"

cmake --build build --config Release

4. 预设(CMakePresets.json)

当项目提供预设时,推荐使用:

1
2
cmake --preset debug
cmake --build --preset debug

5. 常用变量与路径配置

1
2
3
4
5
6
7
8
9
# 指定安装前缀
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=$HOME/.local

# 查找第三方库路径(通用)
cmake -S . -B build -DCMAKE_PREFIX_PATH="/path/to/lib;/path/to/other"

# 指定工具链(交叉编译或 vcpkg)
cmake -S . -B build \
  -DCMAKE_TOOLCHAIN_FILE=$HOME/vcpkg/scripts/buildsystems/vcpkg.cmake

6. 构建、测试与安装

1
2
3
4
5
6
7
8
# 构建
cmake --build build

# 运行测试(需要启用 CTest)
ctest --test-dir build

# 安装
cmake --install build

7. 生成编译数据库(供 clangd/IDE 使用)

1
cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

8. 查看与调整缓存

1
2
3
4
5
# 交互式修改缓存(终端 UI)
ccmake -S . -B build

# GUI 版本
cmake-gui

9. 常见排错与清理

1
2
3
4
5
# 显示详细构建命令
cmake --build build --verbose

# 仅清理生成目录(安全做法:删除 build 目录)
rm -rf build

10. 快速模板(含 vcpkg)

1
2
3
4
5
cmake -S . -B build/debug \
  -DCMAKE_BUILD_TYPE=Debug \
  -DCMAKE_TOOLCHAIN_FILE=$HOME/vcpkg/scripts/buildsystems/vcpkg.cmake

cmake --build build/debug -j 8

如果你需要针对特定项目(比如多平台、交叉编译、CUDA)扩展命令行模板,告诉我目标平台和依赖即可。