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 代码。