比较Make和CMake

Posted yangzhenping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比较Make和CMake相关的知识,希望对你有一定的参考价值。

??

比较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

以上是关于比较Make和CMake的主要内容,如果未能解决你的问题,请参考以下文章

make/cmake:海思himix200交叉编译zlib

make如何指定cmake路径

Cmake “cmake_make_program is not set” 问题。

使用cmake/make打包Android 动态库

(Linux)初探cmake .和make命令

CMake 没有生成 Make 文件