你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为每一种标准写一次 Makefile ,这将是一件让人抓狂的工作。
CMake就是针对上面问题所设计的工具:它首先允许开发者编写一种平台无关的 CMakeLists.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“Write once, run everywhere”。显然,CMake 是一个比上述几种 make 更高级的编译配置工具。一些使用 CMake 作为项目架构系统的知名开源项目有 VTK、ITK、KDE、OpenCV、OSG 等 [1]。
CMake是一个跨平台的安装(编译)工具,cmake命令生成相应的makefile(在Unix like系统下)或者 project文件(指定用window下的相应编程工具编译时)。
CMake 是一个比 automake 更加容易使用的工具,能够使程序员从复杂的编译连接过程中解脱出来
CMake 提供了比 autoconfig 更简洁的语法。在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下:
1.编写 CMakeLists.txt。
2.执行命令 “cmake PATH” 或者 “ccmake PATH” 生成 Makefile ( PATH 是 CMakeLists.txt 所在的目录 )。
3.使用 make 命令进行编译。
ccmake 与命令 cmake 的不同之处在于 ccmake 提供了一个图形化的操作界面
一、环境描述
1、系统:CentOS 6.4 i386 (min)
2、登录用户:root
3、版本:CMake 2.8.10.2
4、虚拟机:Oracle VM VirtualBox
二、安装步骤
步骤一、安装gcc等必备程序包(已安装则略过此步)
yum install -y gcc gcc-c++ make automake
步骤二、安装wget (已安装则略过此步)
yum install -y wget
步骤三、获取CMake源码包
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
步骤四、解压CMake源码包
tar -zxvf cmake-2.8.10.2.tar.gz
步骤五、进入目录
cd cmake-2.8.10.2
步骤六
./bootstrap
步骤七
gmake
步骤八
gmake install
安装完成,可阅读install_manifest.txt查看具体都安装了什么。
三、异常情况
如果步骤六报错,可能原因是关联的程序包未安装。解决方法:安装所需的程序包后,将cmake-2.8.10.2/目录下的CMakeCache.txt删掉,再从步骤六开始。