码迷,mamicode.com
首页 > 其他好文 > 详细

一、为什么用CMake

时间:2015-02-04 16:42:57      阅读:181      评论:0      收藏:0      [点我收藏+]

标签: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很恶心。


一、为什么用CMake

标签:cmake

原文地址:http://blog.csdn.net/wdkirchhoff/article/details/43486469

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!