CMake 还有许多其他功能。这些只是其中的一部分。
多平台单源构建
CMake 允许开发人员使用一组输入文件描述如何构建简单和非常复杂的软件系统。这可用于在多个平台上构建软件,从 Android 到 iOS,再到高性能计算系统。

准确的依赖关系和最小化重建
CMake 具有准确的依赖关系,并且只允许对已更改的代码进行最小化重建。它还支持 Fortran 和 C++ 模块。
源外构建
CMake 允许源外构建,并允许每个源树有多个构建树。

以目标为中心的方法
现代 CMake 允许将构建指定为一组目标(可执行文件、库、自定义命令)。每个目标定义它直接依赖的其他目标。然后 CMake 以正确的顺序执行构建,并包含传递链接目标。
系统自省,带有一个允许捕获构建环境的缓存
每个 CMake 构建树都包含一个缓存文件,其中包含作为该构建一部分设置的变量。这包括通过系统自省找到的所有内容、已安装软件的路径以及用于构建的标志。CMake 包含多个 GUI,允许编辑此缓存文件。

多个目标构建系统
CMake 支持多个目标构建系统,包括 Visual Studio、Xcode、ninja、make 和 VSCode。它允许项目充分利用其最重要的资源——开发人员。由于 CMake 支持许多流行的 C++ IDE 系统以及命令行构建工具,因此开发人员能够选择他们最能提高生产力的构建工具。
跨平台打包系统
CMake 包含 CPack 系统,该系统允许为 Linux、Windows 和 Mac 创建跨平台安装程序。

完整的跨平台安装系统
CMake 包含一个完整的跨平台安装系统。使用同一组命令,可以在 Linux、Windows 和 Mac 上安装软件包。
跨平台测试系统
CMake 包含一个完整的跨平台测试系统。测试可以在项目的 CMake 源代码中指定,并在构建完成后运行。然后使用 CTest 运行测试。结果可以发送到 CDash,并且可以并行运行。

自定义命令
除了构建标准库和可执行文件之外,CMake 还允许在构建时运行任意命令。这允许代码生成工具的跨平台集成。
配置头文件
CMake 允许项目配置构建的头文件。
目标导出/导入
CMake 可以从构建中导出和导入目标,以允许软件重用。
调试器集成
CMake 实现了调试适配器协议,以使用第三方工具交互式调试项目的 CMake 代码。