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等工具更紧密的协作,以优化复杂的开发工作流程。
find_package()等查找命令在CMake 1时代就已存在,体现了超前思维。
cmake --profiling-forest-google-trace命令生成配置文件。execute_process命令。
演讲者回顾了2002年CMake官网列出的原始目标,并评估了其实现情况。
CMake 4.0及未来的发展方向是实现互操作性和标准化,重点是使用JSON格式。
install(EXPORT TARGETS ...)和install(CMAKE_CONFIG_FILES ...)。install(PACKAGE_INFO ...)和export(TARGETS ...)。find_package()。
import std模块仍在实验阶段,但正在接近完成。
develop模式与CMake结合,为高性能计算(HPC)模拟等复杂项目提供强大的开发工具。