CMake CMake是個一個开源的跨平台自動化建構系統用來管理軟體建置的程序並不依賴於某特定編譯器並可支援多層目錄多個應用程式與多個函式庫 它用組態檔控制建構過程build process的方式和Unix的make相似只是CMake的組態檔取名為CMakeListstxtCMake並不直接建構出最終的軟體而是產生標準的建構檔如Unix的Makefile或Windows Visual C的projectsworkspaces然後再依一般的建構方式使用這使得熟悉某個整合開發環境IDE的開發者可以用標準的方式建構他的軟體這種可以使用各平台的原生建構系統的能力是CMake和SCons等其他類似系統的區別之處 CMake設定檔CMakeListstxt可設定原始碼或目標程式庫的路徑產生適配器wrapper還可以用任意的順序建構執行檔CMake支援inplace建構二進檔和原始碼在同一個目錄樹中和outofplace建構二進檔在別的目錄裡因此可以很容易從同一個原始碼目錄樹中建構出多個二進檔CMake也支援靜態與動態程式庫的建構 CMake這個名字是Cross platform Make的縮寫雖然名字中含有make但是CMake和Unix上常見的make系統是分開的而且更為高階它可與原生建置環境結合使用例如makeninja蘋果公司的Xcode與微軟的Microsoft Visual Studio