本页使用了标题或全文手工转换

CMake

维基百科,自由的百科全书
跳转至: 导航搜索
CMake
Cmake.svg
開發者 Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
穩定版本 3.9.4(2017年10月4日,​10天前​(2017-10-04
預覽版本 3.9.0-rc6(2017年7月12日,​3個月前​(2017-07-12
操作系统 跨平台
类型 軟體開發工具
许可协议 3句版BSD許可證
網站 http://www.cmake.org/
源代码库 gitlab.kitware.com/cmake/cmake/tree/master

CMake是個开源跨平台自動化建構系統,它用組態檔控制建構過程(build process)的方式和UnixMake相似,只是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)這個開放原始碼的三維圖形和視覺系統才出現的,今日VTK也採用了CMake。在設計CMake之時,Kitware公司的Bill Hoffman採用了pcmaker的一些重要想法,加上更多他自己的點子,想把GNU建構系統的一些功能整合進來。CMake最初的實作是在2000年中作的,在2001年初有了急速的進展,許多改良是來自其他把CMake整合到自己的系統中的開發者,比方說,採用CMake作為建構環境的VXL社群就貢獻了很多重要的功能,Brad King為了支援CABLE和GCC-XML這套自動包裝工具也加了幾項功能,通用電氣公司的研發部門則用在內部的測試系統DART,還有一些功能是為了讓VTK可以過渡到CMake和支援洛斯阿拉莫斯國家實驗室的Advanced Computing Lab的平行視覺系統ParaView而加的。

更多功能介紹[编辑]

  • 組態檔是用一種建構軟體專用的特殊程式語言寫的CMake腳本。
  • 內建C語言C++FortranJava的自動相依性分析功能。
  • 經由CMake腳本語言支援SWIGQtFLTK
  • 內建對微軟Visual Studio .NET和過去的Visual Studio版本的支援,可以產生.dsp、.sln和.vcproj檔。
  • 用傳統的時間標籤偵測檔案內容的改變。
  • 支援分布式建構(在多台電腦上同時建構)
  • 在許多作業系統上進行跨平台編譯,包括 Linux、與POSIX相容的系統(AIX*BSD系統HP-UXIRIXMinGW/MSYSSolaris)、Mac OS X和微軟Windows 95/98/NT/2000/XP等。
  • 產生可以給Graphviz用的全局相依圖。
  • 已經和DartCTestCPack等軟體測試和釋出的工具整合。

使用CMake的應用軟體[编辑]

參見[编辑]

外部連結[编辑]

Wikibooks-logo.svg
您可以在維基教科書中查找此百科条目的相關電子教程: