依然是首先给出参考网站,感觉还是让看到的人,直接去看原作会更快,以免疏漏不是我所关注的重要内容:
CMake官网:https://cmake.org/,官网有个tutorial
另一个CMake Turorial:https://www.johnlamp.net/cmake-tutorial.html
CMake by Example:http://mirkokiefer.com/blog/2013/03/cmake-by-example/
CMake官方WIKI:https://cmake.org/Wiki/CMake
首先要搞清楚出cmake是一个跨平台的项目管理工具,用来生成其他项目构建工具所需要的规则文件。例如gnu的make可以根据makefile文件中定义的规则来对C/C++项目进行编译、链接等(较多地用于c/c++项目),qmake可以根据pro文件中定义的规则对qt项目进行构建,而VS则可以根据VS的项目属性文件对其管理项目调用自身的编译器进行编译。那么这些编译文件就可以用cmake来生成,cmake可以根据CMakeLists.txt中定义的规则来生成相应的项目构建平台所需要的规则文件。以make来举例,make可以通过makefile中定义的规则调用c++编译器对项目进行编译并链接并生成可执行文件,相当于项目的编译等构建工作依然由各编译器来完成,而具体如何编译(例如使用的头文件在哪,链接的库去哪找等)则由make根据makefile中定义的规则来调用g++进行编译,而项目构建工具make所需要的makefile则由cmake来生成。makefile可以手动来写,但当项目非常大时,makefile可能会很复杂,此时就可以通过cmake根据MakeLists.txt来自动生成makefile。而假如该项目还要转移到win平台下,又需要使用VS来进行对该项目编译,则CMake可以根据MakeLists.txt来生成VS的项目属性文件(通常后缀是解决方案.suo、项目.vcxproj),然后即可使用VS直接打开解决方案文件
安装
Windows直接官网下载后安装即可,记得添加到PATH,linux下安装包cmake
即可,ubuntu下推荐一个包cmake-curses-gui
,提示供一个curses接口,通过ccmake来调用,red hat系统cmake中就包含了ccmake。