功能
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 (VTK)
Insight Segmentation and Registration Toolkit (ITK)
ParaView
DevIL - Open Image Library
OpenSceneGraph
Scribus
Drishti
PvPGN
Chicken
ParadisEO
Quantum GIS
OPENCV
PCL
Fast Light Toolkit(FLTK)
MySql 5.58版本以後
Clion
安裝
下載cmake
Windows版本安裝直接運行EXE
LINUX版本的安裝:
安裝cmake
cmake-*.*.*tar.gz為下載下來的源碼包
tar xvf cmake-*.*.*.tar.gz
cd cmake-*.*.*
./bootstrap
make
make install
如果已經安裝了cmake,想要安裝新版本,則:
cd cmake-*.*.*
cmake .
make
make install