CMake是款免费开源的编译工具,可以用简单的语句来描述所有平台的编译过程,主要用于构建、测试和打包软件,能够输出各种格式的makefile或者project文件。CMake能测试编译器所支持的C++特性,类似UNIX下的automake。Cmake并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++的projects/workspaces),然后再依一般的建构方式使用。
cmake是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量.目前很多开源的项目都可以通过CMake工具来轻松构建工程,代码的分享者提供源代码和相应的Cmake配置文件,使用者就可以非常方便的在自己的电脑上构建相应的工程,进行开发和调试。