构建配置文件说明¶
文档编写日期: 2026-03-20
使用办法 (Usage)¶
配置文件位于 scripts/build_helpers/ 目录,用于控制 CMake 构建参数。根据不同的构建场景选择相应的配置文件。
配置文件类型¶
| 配置文件 | 用途 | 构建类型 | 工具链 |
|---|---|---|---|
build_develop_config.ini |
开发构建配置 | Debug | linux/gcc |
build_deploy_config.ini |
部署构建配置 | Release | linux/gcc |
build_ci_config.ini |
CI 构建配置 (AMD64/x86_64) | Release | linux/ci-x86_64 |
build_ci_aarch64_config.ini |
CI 构建配置 (ARM64 交叉编译) | Release | linux/ci-aarch64 |
build_ci_armhf_config.ini |
CI 构建配置 (ARM32 HF 交叉编译) | Release | linux/ci-armhf |
build_develop_config.ini.template |
开发配置模板 | - | - |
build_deploy_config.ini.template |
部署配置模板 | - | - |
配置项说明¶
[cmake] - CMake 基础配置¶
| 配置项 | 说明 | 可选值 |
|---|---|---|
generator |
CMake 生成器类型 | Unix Makefiles、Ninja、Visual Studio 17 2022 等 |
toolchain |
编译工具链路径 | linux/gcc、linux/ci-x86_64、linux/ci-aarch64、linux/ci-armhf |
build_type |
构建类型 | Debug、Release、RelWithDebInfo |
build_type 详细说明¶
| 构建类型 | 优化级别 | 调试信息 | 适用场景 |
|---|---|---|---|
Debug |
-O0 (无优化) |
完整调试信息 (-g) |
开发调试阶段 |
Release |
-O3 (最高优化) |
最小调试信息 | 生产环境部署 |
RelWithDebInfo |
-O2 (优化) |
完整调试信息 (-g) |
需要调试的发布版本 |
[paths] - 路径配置¶
| 配置项 | 说明 | 示例值 |
|---|---|---|
source |
源代码目录 (相对于项目根目录) | . 表示项目根目录 |
build_dir |
构建输出目录 (相对于项目根目录) | out/build_develop、out/build_deploy、out/build_ci 等 |
构建目录对照表¶
| 构建场景 | build_dir |
|---|---|
| 开发构建 | out/build_develop |
| 部署构建 | out/build_deploy |
| CI 构建 (x86_64) | out/build_ci |
| CI 构建 (ARM64) | out/build_ci_aarch64 |
| CI 构建 (ARM32 HF) | out/build_ci_armhf |
[options] - 额外选项¶
| 配置项 | 说明 |
|---|---|
jobs |
并行编译任务数 (使用 Makefile 时生效) |
工具链说明¶
本地开发工具链¶
| 工具链 | 路径 | 平台 | 说明 |
|---|---|---|---|
linux/gcc |
cmake/toolchain/linux/gcc.cmake |
本地 Linux | 使用系统默认 GCC 编译器 |
CI 构建工具链¶
| 工具链 | 路径 | 平台 | 说明 |
|---|---|---|---|
linux/ci-x86_64 |
cmake/toolchain/linux/ci-x86_64.cmake |
AMD64 | Docker CI 环境标准构建 |
linux/ci-aarch64 |
cmake/toolchain/linux/ci-aarch64.cmake |
ARM64 | 交叉编译,使用 aarch64-linux-gnu-gcc |
linux/ci-armhf |
cmake/toolchain/linux/ci-armhf.cmake |
ARM32 HF | 交叉编译,使用 arm-linux-gnueabihf-gcc,针对 IMX6ULL 等 Cortex-A7 平台 |
模板文件¶
.template 文件是配置模板,用于创建新的配置文件:
- 复制模板文件:
cp build_develop_config.ini.template build_custom_config.ini - 根据需要修改配置项
- 使用新配置文件进行构建
各配置文件详细参数¶
build_develop_config.ini - 开发构建¶
[cmake]
generator=Unix Makefiles
toolchain=linux/gcc
build_type=Debug
[paths]
source=.
build_dir=out/build_develop
[options]
jobs=12
特点:使用 Debug 模式,适合日常开发调试。
build_deploy_config.ini - 部署构建¶
[cmake]
generator=Unix Makefiles
toolchain=linux/gcc
build_type=Release
[paths]
source=.
build_dir=out/build_deploy
[options]
jobs=16
特点:使用 Release 模式,最高优化级别,适合生产部署。
build_ci_config.ini - CI 构建 (AMD64)¶
[cmake]
generator=Unix Makefiles
toolchain=linux/ci-x86_64
build_type=Release
[paths]
source=.
build_dir=out/build_ci
[options]
jobs=16
特点:用于 Docker CI 环境,x86_64 平台标准化构建。
build_ci_aarch64_config.ini - CI 构建 (ARM64)¶
[cmake]
generator=Unix Makefiles
toolchain=linux/ci-aarch64
build_type=Release
[paths]
source=.
build_dir=out/build_ci_aarch64
[options]
jobs=16
特点:在 x86_64 主机上交叉编译 ARM64 程序,使用 aarch64-linux-gnu-gcc。
build_ci_armhf_config.ini - CI 构建 (ARM32 HF)¶
[cmake]
generator=Unix Makefiles
toolchain=linux/ci-armhf
build_type=Release
[paths]
source=.
build_dir=out/build_ci_armhf
[options]
jobs=16
特点:在 x86_64 主机上交叉编译 ARM32 HF 程序,使用 arm-linux-gnueabihf-gcc,目标平台包括 IMX6ULL (i.MX 6UltraLite) 等 ARM Cortex-A7 设备。