cmake

王朝百科·作者佚名  2010-02-23
窄屏简体版  字體: |||超大  

CMake 是个跨平台的自动化建构系统,它用组态档控制建构过程(build process)的方式和 Unix 的 Make 相似,只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。CMake 可以编译源代码、制做程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支援 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支援静态与动态程式库的建构。

“CMake”这个名字是 "cross platform make" 的缩写。虽然名字中含有 "make",但是 CMake 和 Unix 上常见的“make”系统是分开的,而且更为高阶。

历史CMake 是为了解决美国国家医学图书馆出资的 Visible Human Project 专案下的 Insight Segmentation and Registration Toolkit (ITK) 软件的跨平台建构的需求而创造出来的,其设计受到了 Ken Martin 开发的 pcmaker 所影响。pcmaker 当初则是为了支援 Visualization Toolkit 这个开放源代码的三维图形和视觉系统才出现的,今日 VTK 也采用了 CMake。在设计 CMake 之时,Kitware 公司的 Bill Hoffman 采用了 pcmaker 的一些重要想法,加上更多他自己的点子,想把 GNU 建构系统 的一些功能整合进来。CMake 最初的实作是在 2000 年中作的,在 2001 年初有了急速的进展,许多改良是来自其他把 CMake 整合到自己的系统中的开发者,比方说,采用 CMake 作为建构环境的 VXL 社群就贡献了很多重要的功能,Brad King 为了支援 CABLE 和 GCC-XML 这套自动包装工具也加了几项功能,奇异公司的研发部门则用在内部的测试系统 DART,还有一些功能是为了让 VTK 可以过渡到 CMake 和支援[[美国 Los Alamos 国家实验室}洛斯阿拉莫斯国家实验室]]的 Advanced Computing Lab 的平行视觉系统 ParaView 而加的。

功能介绍组态档是用一种建构软件专用的特殊编程语言写的 CMake 脚本。

内建 C语言、C++、Fortran、Java 的自动相依性分析功能。

经由 CMake 脚本语言支援 SWIG、Qt、FLTK。

内建对微软 Visual Studio .NET 和过去的 Visual Studio 版本的支援,可以产生 .dsp、.sln 和 .vcproj 档。

用传统的时间标签侦测档案内容的改变。

支援平行建构(在多台电脑上同时建构)

在许多操作系统上进行跨平台编译,包括 Linux、与 POSIX 相容的系统(AIX、*BSD 系统、HP-UX、IRIX、MinGW/MSYS、Solaris)、Mac OS X 和微软 Windows 95/98/NT/2000/XP 等。

产生可以给 Graphviz 用的全局相依图。

已经和 Dart、CTest 和 CPack 等软件测试和释出的工具整合。

应用软件Bullet Physics Engine

KDE (starting with version 4)

The Visualization Toolkit

Insight Segmentation and Registration Toolkit

ParaView

DevIL - Open Image Library

OpenSceneGraph

Scribus

Drishti

PvPGN

Chicken

ParadisEO

Quantum GIS

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航