比较Make和CMake
Make(或者说一个Makefile)是构建系统 - 它驱动编译器和其它构建工具来构建你的代码。
“Make”是一个工具,它控制可执行文件和程序的源文件以及程序的其他非源文件的生成。
CMake的是构建系统的生成器,CMake代表跨平台Make。它可以产生Makefile文件,它可以产生Ninja构建文件,它可以产生KDevelop或XCode的项目,它能产生Visual Studio解决方案。从同一个CMakeLists.txt文件来产生项目。如果你正在编写需要在很多不同的平台上构建的软件那么CMake的往往是一个不错的选择。
CMake优势:
◾用来写的CMakeLists.txt文件的语言是容易阅读和理解。
◾它不仅靠“Make”来构建项目。
◾它支持多个生成器像Xcode,Eclipse,Visual Studio,等等。
◾跨平台发现依赖的系统库。
◾自动发现和工具链的配置。
◾轻松地将您的文件以一个平台无关的方式编译成共享库,比make更容易使用。
参考文档:
1.https://prateekvjoshi.com/2014/02/01/cmake-vs-make/
2.http://stackoverflow.com/questions/25221869/difference-between-cmake-gnu-make-and-manually-compiling
3.http://stackoverflow.com/questions/25789644/makefile-vs-cmake