CMake

Infobox_Software | logo = Cmake.svg | logo_size = 75px | name = CMake | developer = Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf | latest_release_version = 3.25.1 | latest_release_date = | latest_preview_version = 3.25.0 - rc4 | latest_preview_date = | operating_system = 跨平臺 | genre = 軟體開發工具 | license = 3句版BSD許可證 | website = CMake是個一個開源的跨平臺自動化建構系統 ， 用來管理軟體建置的程序 ， 並不依賴於某特定編譯器 ， 並可支援多層目錄 、 多個應用程式與多個函式庫 。 它用組態檔控制建構過程 （ build process ） 的方式和Unix的make相似 ， 只是CMake的組態檔取名爲CMakeLists.txt 。 CMake並不直接建構出最終的軟體 ， 而是產生標準的建構檔 （ 如Unix的Makefile或Windows Visual C++ 的projects / workspaces ） ， 然後再依一般的建構方式使用 。 這使得熟悉某個整合開發環境 （ IDE ） 的開發者可以用標準的方式建構他的軟體 ， 這種可以使用各平臺的原生建構系統的能力是CMake和SCons等其他類似系統的區別之處 。 CMake設定檔 （ CMakeLists.txt ） 可設定原始碼或目標程式庫的路徑 、 產生適配器 （ wrapper ） 、 還可以用任意的順序建構執行檔 。 CMake支援in - place建構 （ 二進檔和原始碼在同一個目錄樹中 ） 和out - of - place建構 （ 二進檔在別的目錄裏 ） ， 因此可以很容易從同一個原始碼目錄樹中建構出多個二進檔 。 CMake也支援靜態與動態程式庫的建構 。 「 CMake 」 這個名字是 " Cross platform Make " 的縮寫 。 雖然名字中含有 " make " ， 但是CMake和Unix上常見的 「 make 」 系統是分開的 ， 而且更爲高階 。 它可與原生建置環境結合使用 ， 例如 ： make 、 ninja 、 蘋果的Xcode與微軟的Visual Studio 。