# cmake-template **Repository Path**: RealCoolEngineer/cmake-template ## Basic Information - **Project Name**: cmake-template - **Description**: 一个CMake Project的模板仓库。 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 81 - **Forks**: 24 - **Created**: 2021-04-25 - **Last Updated**: 2026-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cmake-template ## 介绍 一个CMake Project的模板仓库。 ## 构建说明 构建行为统一声明在 `CMakePresets.json`(schema v6)中,直接使用 CMake 命令构建。 可用的 configure preset(Windows 主机自动切换为 `-win` 后缀变体,使用 Ninja generator): | Preset | 说明 | | --- | --- | | `host-debug` | Debug 构建,启用单元测试 | | `host-release` | Release 构建,用于安装与打包 | | `mcu-m4` | 交叉编译 Release 构建(Cortex-M4,需 `arm-none-eabi-gcc`),用于打包 | ```bash # 查看当前平台可用的 preset(默认只列 configure presets) cmake --list-presets # 按类型列举:configure / build / test / package / workflow / all cmake --list-presets=workflow cmake --list-presets=all # 各子工具的等价入口 cmake --build --list-presets # build presets ctest --list-presets # test presets cpack --list-presets # package presets cmake --workflow --list-presets # workflow presets ``` > 注意:condition 平台过滤只作用于 configure presets 列表;build/test/package/workflow > 列表会显示全部条目,但引用了被禁用 configure preset 的项在执行时会报错。 ### 一条命令跑完整链(推荐) ```bash # Debug:configure + build + test cmake --workflow --preset host-debug # Release:configure + build + package(ZIP 生成到 output/) cmake --workflow --preset host-release # 交叉编译:configure + build + package(ZIP 生成到 output/) cmake --workflow --preset mcu-m4 # 加 --fresh 让 configure 步骤重置 cache(CMake ≥ 3.31,语义见"常用命令行选项") cmake --workflow --preset host-debug --fresh ``` ### 分步执行 ```bash # 配置(--fresh 保证 cache 始终从 preset+参数推导) cmake --preset host-debug --fresh # 构建 cmake --build --preset host-debug -j 8 # 测试(自动 output-on-failure) ctest --preset host-debug # 安装(落盘到 output/host-release/) cmake --preset host-release --fresh cmake --build --preset host-release cmake --install build/host-release # 打包(ZIP 生成到 output/) cpack --preset host-release ``` ### 常用命令行选项 **configure 阶段(`cmake --preset
`)**
| 选项 | 作用 |
| --- | --- |
| `-D= `)**
| 选项 | 作用 |
| --- | --- |
| `-j `)**
| 选项 | 作用 |
| --- | --- |
| `-R