“CMake 超越競爭對手的優勢:其豐富的功能列表。”

Bryce Adelstein Lelbach,C++ 標準函式庫演化組主席。

CMake 還有許多其他功能。這些僅是其中一部分。

在多個平台上進行單一來源建置

CMake 允許開發人員使用單一組輸入檔案,描述如何建置簡單和非常複雜的軟體系統。這可用於在多個平台上建置軟體,從 Android 到 iOS 到高效能運算系統。

精確的依賴性與最小化重建

CMake 具有精確的依賴性,並允許僅針對已變更的程式碼進行最小化重建。它也支援 Fortran 和 C++ 模組。

原始碼外部建置

CMake 允許原始碼外部建置,並能針對每個原始碼樹狀結構擁有多個建置樹狀結構。

以目標為中心的途徑

現代 CMake 允許將建置指定為一組目標(可執行檔、函式庫、自訂命令)。每個目標定義它直接依賴的其他目標。然後 CMake 會以正確的順序執行建置,並包含可轉移的連結目標。

具有快取的系統內省功能,可擷取建置環境

每個 CMake 建置樹狀結構都包含一個快取檔案,其中包含在該建置過程中設定的變數。這包括系統內省找到的所有內容、已安裝軟體的路徑,以及用於建置的旗標。CMake 包含多個 GUI,允許編輯此快取檔案。

多目標建置系統

CMake 支援多個目標建置系統,包括 Visual Studio、Xcode、ninja、make 和 VSCode。它允許專案充分利用其最重要的資源,即開發人員的潛力。由於 CMake 支援許多流行的 C++ IDE 系統以及命令列建置工具,開發人員可以選擇他們最有效率的建置工具。

跨平台封裝系統

CMake 包含 CPack 系統,允許為 Linux、Windows 和 Mac 建立跨平台安裝程式。

完整的跨平台安裝系統

CMake 包含完整的跨平台安裝系統。使用相同的命令集,軟體套件可以安裝在 Linux、Windows 和 Mac 上。

跨平台測試系統

CMake 包含完整的跨平台測試系統。測試可以在專案的 CMake 原始碼中指定,並在建置完成後執行。然後使用 CTest 執行測試。結果可以發送到 CDash,並且可以平行執行。

自訂命令

除了建置標準函式庫和可執行檔之外,CMake 還允許在建置時執行任意命令。這允許跨平台整合程式碼產生工具。

設定標頭檔

CMake 允許專案為建置設定標頭檔。

目標的匯出/匯入

CMake 可以匯出和匯入來自建置的目標,以允許軟體重複使用。

偵錯工具整合

CMake 實作了偵錯配接器協定,以使用第三方工具互動式偵錯專案的 CMake 程式碼。

為您量身打造的 CMake

Kitware 可以與您合作開發根據您的需求量身定制的 CMake 軟體建置系統。