一、为什么用CMake

Cmake可以通过让开发者描述build参数在一个简单地可以移植的文本文件里,这个文件能够被cmake用来产生类似于MS Visual Studio和Apple’s Xcode的项目文件,当然也有*NIX下的Makefile。
Cmake给同一平台,多机开发环境的很多帮助:
  1. 自动搜索所需要的程序,库,头文件的能力,这包含了环境变量和windows的注册表等信息
  2. 能够在源码树外进行build,这个功能在很多UNIX环境下很有益处,这个功能使得开发者可以很轻松的删掉整个build目录,而不会担心误删源码文件
  3. 创建复杂自定义命令的能力,比如自动生成Qt的moc文件等等
  4. 提供配置选项用于额外的组件,比如几个VTK的库是可选的,那么CMake提供选择build哪些库
  5. 能够从一个简单地text文件自动生成workspace和project文件
  6. 能够很简单的选择使用静态库还是共享库
  7. 自动生成文件依赖,并且支持并行build
当开发跨平台的软件时,CMake还能提供其他特性:
  1. 能够测试平台的字节序和其他硬件特性
  2. 一整套的build配置文件,能够在多平台上很好地工作
  3. 支持在多平台上创建共享库
最近CMake项目的进展是拥有了软件测试支持——CTest,此外还有个CPack,是设计用来支持跨平台分发软件的,能够创建本地安装文件,比如可以被NSIS,RPM,Cygwin等使用。
此外还有支持了XCode和VS10。加入了交叉编译功能,CMake能够很好地处理host系统和目标系统的区别。


为什么不用Autoconf?
首先Windows上不好用,难用和难以拓展,甚至有些方面几乎不能做到,而CMake去可以轻松做到,此外,他产生的makefile强迫用户使用命令行,而CMake能够生成IDE项目文件。
CMake能够提供交互式的用户接口,能够让用户看到哪些选项可用,并且如何配置。
对于UNIX用户,CMake也提供自动依赖生成,autoconf完成这项功能并不直接,CMake提供的输入格式很容易阅读,而Makefile.in和configure.in很恶心。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值