深入解析CMake的演进:从起源到CMake 4.0新特性及未来展望

HPSF

总结:

Kitware联合创始人Bill Hoffman回顾了CMake长达25年的发展历程。CMake起源于ITK项目,旨在为医学图像处理提供跨平台的C++构建可移植性。CMake的发展经历了多个时代,包括CMake 1(原始标志汤),CMake 2(通过KDE的采用实现全球普及),以及CMake 3(引入了目标命令等现代实践)。CMake 3的重要进展包括性能分析、DAP调试支持和并行安装。CMake 4.0及未来的发展方向侧重于互操作性和标准化,特别是通过通用软件包规范(CPS)和对C++模块的增强支持。未来的愿景还包括CMake代码检查(linting)、为包管理器集成引入cmake provision步骤,以及与Spack等工具更紧密的协作,以优化复杂的开发工作流程。

CMake发展历程概览
CMake发展历程概览 [ 00:03:50 ]

演讲者介绍与Kitware背景 [0:00:00]

CMake的起源与早期目标 [0:06:54]

CMake的各个发展时代 [0:03:51]

CMake 1:原始标志汤 (2000-2004) [0:04:11]

CMake 2:世界普及 (2004-2014) [0:05:22]

CMake 3:目标命令时代 (2014-2025) [0:07:18]

CMake 3 性能测试 [0:07:31]

CMake 3 调试功能 [0:08:23]

并行安装 (3.31新特性) [0:08:55]

CMake目标回顾与评价 [0:09:31]

演讲者回顾了2002年CMake官网列出的原始目标,并评估了其实现情况。

目标1:开发开源、跨平台构建工具 [0:11:04]

目标2:支持原生编译器和系统 [0:11:24]

目标3:简化构建流程 [0:11:37]

目标4:提供用户界面管理构建系统 [0:12:19]

目标5:创建可扩展的框架 [0:12:32]

目标6:培养自给自足的社区 [0:13:13]

CMake 4.0及未来发展 [0:13:32]

CMake 4.0及未来的发展方向是实现互操作性和标准化,重点是使用JSON格式。

通用软件包规范 (CPS) [0:16:09]

C++ 模块支持 [0:19:04]

CMake 检测工具 (4.3新特性) [0:21:26]

SBOM 生成 (实验性4.3) [0:22:13]

新构建工具 - GFASTBuild [0:23:17]

新的现代CMake教程与SARIF [0:24:50]

未来展望与未实现的功能 [0:25:09]

CMake 代码检查 (Linting) [0:25:13]

CMake 作为包管理器工作流 [0:25:28]

Spack develop + CMake 协作 [0:26:07]

总结与社区参与 [0:26:47]