首先,他们都是产生makefile文件的工具。
cmake产生的晚,解决了很多autotools工具的问题。
autotools是一个工具集具有强大的灵活性,但是因为步骤太多,配置繁琐,产生了很多的替代方案,cmake是其中最优秀的之一。
当然很多其他替代品不会产生makefile文件而直接具有make的功能了。看到下图,你是不是感觉有些发晕。
autotools:
- 运行autoscan命令
- 将configure.scan 文件重命名为configure.in,并修改configure.in文件
- 在project目录下新建Makefile.am文件,并在core和shell目录下也新建makefile.am文件
- 在project目录下新建NEWS、 README、 ChangeLog 、AUTHORS文件
- 将/usr/share/automake-1.X/目录下的depcomp和complie文件拷贝到本目录下
- 运行aclocal命令
- 运行autoconf命令
- 运行automake -a命令
- 运行./confiugre脚本
cmake的步骤:
- 编写CMakeLists.txt
- 运行cmake命令
atuoconfig的配置文件configure.ac我们通过autosan生成,我们只需要修改就可以、autoconfig的配置文件Makefile.am我们需要自己手工从头编写;
cmake的配置文件CMakeLists.txt需要手工编写,当然cmake提供了gui的配置工具供大家使用;