ccmake(1)

概要

ccmake [<options>] -B <path-to-build> [-S <path-to-source>]
ccmake [<options>] <path-to-source | path-to-existing-build>

描述

ccmake 執行檔是 CMake 的 curses 介面。專案設定可透過此圖形介面互動式指定。當程式執行時,終端機底部會提供簡短的說明。

CMake 是一個跨平台的建置系統產生器。專案使用平台獨立的 CMake 清單檔案來指定其建置過程,這些檔案包含在原始碼樹狀結構的每個目錄中,名稱為 CMakeLists.txt。使用者透過使用 CMake 為其平台上的原生工具產生建置系統來建置專案。

選項

-S <原始碼路徑>

要建置的 CMake 專案的根目錄路徑。

-B <建置路徑>

CMake 將用作建置目錄根目錄的路徑。

如果目錄不存在,CMake 將會建立它。

-C <初始快取>

預先載入腳本以填入快取。

當 CMake 首次在空的建置樹狀結構中執行時,它會建立一個 CMakeCache.txt 檔案,並使用專案的可自訂設定來填入它。此選項可用於指定一個檔案,從該檔案載入快取項目,然後再第一次遍歷專案的 CMake 清單檔案。載入的項目優先於專案的預設值。給定的檔案應為包含 set() 命令的 CMake 腳本,這些命令使用 CACHE 選項,而不是快取格式的檔案。

腳本中對 CMAKE_SOURCE_DIRCMAKE_BINARY_DIR 的引用會評估為最上層的原始碼和建置樹狀結構。

-D <變數>:<類型>=<值>, -D <變數>=<值>

建立或更新 CMake CACHE 項目。

當 CMake 首次在空的建置樹狀結構中執行時,它會建立一個 CMakeCache.txt 檔案,並使用專案的可自訂設定來填入它。此選項可用於指定優先於專案預設值的設定。此選項可以針對所需的 CACHE 項目重複多次。

如果給定 :<類型> 部分,則它必須是 set() 命令文件中針對其 CACHE 簽章指定的類型之一。如果省略 :<類型> 部分,則如果該項目不存在且沒有類型,則會建立沒有類型的項目。如果專案中的命令將類型設定為 PATHFILEPATH,則 <值> 將會轉換為絕對路徑。

此選項也可以作為單一參數給定:-D<變數>:<類型>=<值>-D<變數>=<值>

務必注意 -C-D 參數的順序非常重要。它們將按照列出的順序執行,最後一個參數優先於先前的參數。例如,如果您指定 -DCMAKE_BUILD_TYPE=Debug,然後是一個 -C 參數,該參數包含呼叫的檔案

set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)

然後 -C 參數將優先,並且 CMAKE_BUILD_TYPE 將設定為 Release。但是,如果 -D 參數位於 -C 參數之後,它將設定為 Debug

如果 -C 檔案中的 set(... CACHE ...) 呼叫未使用 FORCE,並且 -D 參數設定了相同的變數,則由於非-FORCE set(... CACHE ...) 呼叫的性質,-D 參數將優先,無論順序如何。

-U <globbing_expr>

從 CMake CACHE 中移除匹配的項目。

此選項可用於從 CMakeCache.txt 檔案中移除一個或多個變數,支援使用 *? 的 globbing 表達式。此選項可以針對所需的 CACHE 項目重複多次。

請小心使用,您可能會使 CMakeCache.txt 無法使用。

-G <產生器名稱>

指定建置系統產生器。

CMake 可能在某些平台上支援多個原生建置系統。產生器負責產生特定的建置系統。可能的產生器名稱在 cmake-generators(7) 手冊中指定。

如果未指定,CMake 會檢查 CMAKE_GENERATOR 環境變數,否則會回復為內建的預設選擇。

-T <工具組規格>

產生器的工具組規格(如果支援)。

某些 CMake 產生器支援工具組規格,以告知原生建置系統如何選擇編譯器。請參閱 CMAKE_GENERATOR_TOOLSET 變數以取得詳細資訊。

-A <平台名稱>

如果產生器支援,則指定平台名稱。

某些 CMake 產生器支援提供給原生建置系統的平台名稱,以選擇編譯器或 SDK。請參閱 CMAKE_GENERATOR_PLATFORM 變數以取得詳細資訊。

--toolchain <檔案路徑>

新增於版本 3.21。

指定交叉編譯工具鏈檔案,相當於設定 CMAKE_TOOLCHAIN_FILE 變數。相對路徑會解譯為相對於建置目錄,如果找不到,則解譯為相對於原始碼目錄。

--install-prefix <目錄>

新增於版本 3.21。

指定安裝目錄,由 CMAKE_INSTALL_PREFIX 變數使用。必須是絕對路徑。

-Wno-dev

抑制開發者警告。

抑制針對 CMakeLists.txt 檔案作者的警告。預設情況下,這也會關閉棄用警告。

-Wdev

啟用開發者警告。

啟用針對 CMakeLists.txt 檔案作者的警告。預設情況下,這也會開啟棄用警告。

-Wdeprecated

啟用已棄用功能警告。

啟用針對 CMakeLists.txt 檔案作者的已棄用功能使用警告。

-Wno-deprecated

抑制已棄用功能警告。

抑制針對 CMakeLists.txt 檔案作者的已棄用功能使用警告。

-Werror=<what>

將 CMake 警告視為錯誤。<what> 必須是下列其中一項

dev

將開發者警告視為錯誤。

將針對 CMakeLists.txt 檔案作者的警告視為錯誤。預設情況下,這也會將棄用警告視為錯誤。

deprecated

將已棄用的巨集和函數警告視為錯誤。

將針對 CMakeLists.txt 檔案作者的已棄用巨集和函數使用警告視為錯誤。

-Wno-error=<what>

不要將 CMake 警告視為錯誤。<what> 必須是下列其中一項

dev

不要將針對 CMakeLists.txt 檔案作者的警告視為錯誤。預設情況下,這也會關閉將棄用警告視為錯誤。

deprecated

不要將針對 CMakeLists.txt 檔案作者的已棄用巨集和函數使用警告視為錯誤。

-version [<file>], --version [<file>], /V [<file>]

顯示程式名稱/版本標語並結束。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

-h, -H, --help, -help, -usage, /?

列印用法資訊並結束。

用法描述了基本命令列介面及其選項。

--help <keyword> [<file>]

列印一個 CMake 關鍵字的說明。

<keyword> 可以是屬性、變數、命令、政策、產生器或模組。

以人類可讀的文字格式列印 <keyword> 的相關手冊條目。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

變更於 3.28 版: 在 CMake 3.28 之前,此選項僅支援命令名稱。

--help-full [<file>]

列印所有說明手冊並結束。

所有手冊都以人類可讀的文字格式列印。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

--help-manual <man> [<file>]

列印一個說明手冊並結束。

指定的手冊以人類可讀的文字格式列印。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

--help-manual-list [<file>]

列出可用的說明手冊並結束。

此清單包含所有可以使用 --help-manual 選項,後接手冊名稱來取得說明的說明手冊。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

--help-command <cmd> [<file>]

列印一個命令的說明並結束。

以人類可讀的文字格式列印 cmake-commands(7) 手冊中關於 <cmd> 的條目。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

--help-command-list [<file>]

列出可用的命令說明並結束。

此清單包含所有可以使用 --help-command 選項,後接命令名稱來取得說明的命令。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

--help-commands [<file>]

列印 cmake-commands 手冊並結束。

以人類可讀的文字格式列印 cmake-commands(7) 手冊。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

--help-module <mod> [<file>]

列印一個模組的說明並結束。

以人類可讀的文字格式列印 cmake-modules(7) 手冊中關於 <mod> 的條目。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

--help-module-list [<file>]

列出可用的模組說明並結束。

此清單包含所有可以使用 --help-module 選項,後接模組名稱來取得說明的模組。如果指定了名稱為 <file> 的檔案,則將輸出列印到該檔案。

--help-modules [<file>]

列印 cmake-modules 手冊並結束。