cmake 4.3 系列引入 cps 包规范支持、cmake-instrumentation 构建观测能力及增强的命令行归档功能,提升包管理互操作性、构建流程可观测性与 ci 自动化程度。

CMake 4.3 系列在 4.4 之前承担了重要的过渡作用。官方 Release Notes 显示,4.3 引入 Common Package Specification 支持,使 CMake 能够导入和导出 CPS 描述的包信息。find_package() 可搜索和导入 CPS 包,install() 与 export() 增加 PACKAGE_INFO 子命令,用于生成 CPS 包描述。
长期以来,C/C++ 生态的包发现和依赖描述一直是构建系统中的复杂问题。传统 CMake config module、Find module、pkg-config 文件和包管理器元数据各自有不同规则。CPS 的引入目标是提升包描述的表达能力和互操作性,让第三方构建系统可以以更统一的方式消费包信息。对于开源库维护者和系统包维护者,这是一项值得关注的变化。
4.3 还新增 cmake-instrumentation(7),用于收集配置、生成、构建、测试、安装等步骤中的时间、目标和系统诊断信息。它可以将数据提供给回调处理,也可生成 Google Trace Event Format 文件用于可视化。这说明 CMake 正在从“生成构建文件”扩展到“观测构建流程”的方向。
此外,4.3 增强了命令行和压缩归档能力,例如 cmake --version=json-v1、cmake -E tar 支持压缩级别、压缩方法和多线程操作。对 CI 系统、脚本集成和发布流水线来说,这些变化能减少额外脚本依赖,提高构建过程的一致性和可自动化程度。










