ccmake(1)¶
簡介¶
ccmake [<選項>] -B <建置路徑> [-S <原始碼路徑>]
ccmake [<選項>] <原始碼路徑 | 現有建置路徑>
描述¶
ccmake 可執行檔是 CMake 的 curses 介面。專案的配置設定可以透過此 GUI 互動式地指定。程式執行時,終端機底部會提供簡短說明。
CMake 是一個跨平台的建置系統產生器。專案以平台無關的 CMake 清單檔案來指定其建置程序,這些清單檔案包含在原始碼樹的每個目錄中,名稱為 CMakeLists.txt。使用者使用 CMake 在其平台上為原生工具產生建置系統,從而建置專案。
選項¶
- -S <path-to-source>¶
要建置的 CMake 專案根目錄路徑。
- -B <path-to-build>¶
CMake 將用作建置目錄根目錄的目錄路徑。
如果該目錄尚不存在,CMake 會建立它。
- -C <initial-cache>¶
預載腳本以填充快取。
當 CMake 第一次在空的建置樹上運行時,它會建立一個
CMakeCache.txt檔案,並以專案的可自訂設定來填充它。此選項可用於指定一個檔案,以便在首次遍歷專案的 CMake 清單檔案之前加載快取項目。加載的項目優先於專案的預設值。給定的檔案應為包含set()命令且使用CACHE選項的 CMake 腳本,而非快取格式的檔案。腳本內對
CMAKE_SOURCE_DIR和CMAKE_BINARY_DIR的引用會評估為頂層原始碼和建置樹。
- -D <var>:<type>=<value>, -D <var>=<value>¶
建立或更新 CMake
CACHE項目。當 CMake 第一次在空的建置樹上運行時,它會建立一個
CMakeCache.txt檔案,並以專案的可自訂設定來填充它。此選項可用於指定一個優先於專案預設值的設定。此選項可重複使用,以設定任意數量的CACHE項目。如果給出了
:<type>部分,它必須是set()命令文檔中爲其CACHE簽名所指定的類型之一。如果省略了:<type>部分,則如果該條目尚未具有類型,將創建不帶類型的條目。如果專案中的命令將類型設置爲PATH或FILEPATH,則<value>將被轉換爲絕對路徑。此選項也可以作為單個參數給出:
-D<var>:<type>=<value>或-D<var>=<value>。需要注意的是,
-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參數設定了同一變量,無論順序如何,由於非FORCEset(... CACHE ...)呼叫的性質,-D參數將優先。
- -U <globbing_expr>¶
從 CMake
CACHE中移除匹配的條目。此選項可用於從
CMakeCache.txt檔案中移除一個或多個變量,支援使用*和?的 globbing 表達式。此選項可重複使用,以移除任意數量的CACHE項目。小心使用,您可能會使您的
CMakeCache.txt無法正常運作。
- -G <generator-name>¶
指定建置系統產生器。
在某些平台上,CMake 可能支援多種原生建置系統。產生器負責生成特定的建置系統。可能的產生器名稱在
cmake-generators(7)手冊中指定。如果未指定,CMake 會檢查
CMAKE_GENERATOR環境變量,否則會回退到內建預設選擇。
- -T <toolset-spec>¶
產生器的工具集規格(若支援)。
某些 CMake 產生器支援工具集規格,用於告知原生建置系統如何選擇編譯器。詳情請參閱
CMAKE_GENERATOR_TOOLSET變量。
- -A <platform-name>¶
若產生器支援,指定平台名稱。
某些 CMake 產生器支援向原生建置系統提供平台名稱,以選擇編譯器或 SDK。詳情請參閱
CMAKE_GENERATOR_PLATFORM變量。
- --toolchain <path-to-file>¶
在 3.21 版被加入.
指定交叉編譯工具鏈檔案,相當於設定
CMAKE_TOOLCHAIN_FILE變量。相對路徑被解釋為相對於建置目錄,如果找不到,則相對於原始碼目錄。
- --install-prefix <directory>¶
在 3.21 版被加入.
指定安裝目錄,由
CMAKE_INSTALL_PREFIX變量使用。必須是絕對路徑。
- --project-file <project-file-name>¶
在 4.0 版被加入.
指定替代專案檔案名稱。
這決定了 CMake 在配置專案時處理的頂層檔案,以及
add_subdirectory()所處理的檔案。預設為
CMakeLists.txt。如果設置為其他任何內容,當在專案子目錄中找不到指定的檔案時,CMakeLists.txt將作為備用。備註
此功能旨在供開發人員在增量遷移期間臨時使用,而非用於發布最終產品。當專案檔案不是
CMakeLists.txt時,CMake 始終會發出警告。
- -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>]¶
顯示程式名稱/版本橫幅並退出。The output is printed to a named
<file>if given.
- -h, -H, --help, -help, -usage, /?¶
列印使用資訊並退出。
使用說明描述了基本的命令列介面及其選項。
- --help <keyword> [<file>]¶
列印一個 CMake 關鍵字的說明。
<keyword>可以是屬性、變數、命令、政策、產生器或模組。以人類可讀的文字格式列印
<keyword>的相關手冊條目。The output is printed to a named<file>if given.在 3.28 版的變更: 在 CMake 3.28 之前,此選項僅支援命令名稱。
- --help-full [<file>]¶
列印所有說明手冊並退出。
所有手冊均以人類可讀的文字格式列印。The output is printed to a named
<file>if given.
- --help-manual <man> [<file>]¶
列印一本說明手冊並退出。
指定的手冊以人類可讀的文字格式列印。The output is printed to a named
<file>if given.
- --help-manual-list [<file>]¶
列出可用的說明手冊並退出。
該清單包含所有可以使用
--help-manual選項加上手冊名稱來獲取說明的手冊。The output is printed to a named<file>if given.
- --help-command <cmd> [<file>]¶
列印一個命令的說明並退出。
以人類可讀的文字格式列印
cmake-commands(7)手冊中關於<cmd>的條目。The output is printed to a named<file>if given.
- --help-command-list [<file>]¶
列出有說明的命令並退出。
該清單包含所有可以使用
--help-command選項加上命令名稱來獲取說明的命令。The output is printed to a named<file>if given.
- --help-commands [<file>]¶
列印 cmake-commands 手冊並退出。
以人類可讀的文字格式列印
cmake-commands(7)手冊。The output is printed to a named<file>if given.
- --help-module <mod> [<file>]¶
列印一個模組的說明並退出。
以人類可讀的文字格式列印
cmake-modules(7)手冊中關於<mod>的條目。The output is printed to a named<file>if given.
- --help-module-list [<file>]¶
列出有說明的模組並退出。
該清單包含所有可以使用
--help-module選項加上模組名稱來獲取說明的模組。The output is printed to a named<file>if given.
- --help-modules [<file>]¶
列印 cmake-modules 手冊並退出。
以人類可讀的文字格式列印
cmake-modules(7)手冊。The output is printed to a named<file>if given.
- --help-policy <cmp> [<file>]¶
列印一個政策的說明並退出。
以人類可讀的文字格式列印
cmake-policies(7)手冊中關於<cmp>的條目。The output is printed to a named<file>if given.
- --help-policy-list [<file>]¶
列出有說明的政策並退出。
該清單包含所有可以使用
--help-policy選項加上政策名稱來獲取說明的政策。The output is printed to a named<file>if given.
- --help-policies [<file>]¶
列印 cmake-policies 手冊並退出。
以人類可讀的文字格式列印
cmake-policies(7)手冊。The output is printed to a named<file>if given.
- --help-property <prop> [<file>]¶
列印一個屬性的說明並退出。
以人類可讀的文字格式列印
cmake-properties(7)手冊中關於<prop>的條目。The output is printed to a named<file>if given.
- --help-property-list [<file>]¶
列出有說明的屬性並退出。
該清單包含所有可以使用
--help-property選項加上屬性名稱來獲取說明的屬性。The output is printed to a named<file>if given.
- --help-properties [<file>]¶
列印 cmake-properties 手冊並退出。
以人類可讀的文字格式列印
cmake-properties(7)手冊。The output is printed to a named<file>if given.
- --help-variable <var> [<file>]¶
列印一個變量的說明並退出。
以人類可讀的文字格式列印
cmake-variables(7)手冊中關於<var>的條目。The output is printed to a named<file>if given.
- --help-variable-list [<file>]¶
列出有說明的變量並退出。
該清單包含所有可以使用
--help-variable選項加上變量名稱來獲取說明的變量。The output is printed to a named<file>if given.
- --help-variables [<file>]¶
列印 cmake-variables 手冊並退出。
以人類可讀的文字格式列印
cmake-variables(7)手冊。The output is printed to a named<file>if given.
參見¶
以下資源可供您使用 CMake 時獲得協助:
- 首頁
-
學習 CMake 的主要起點。
- 線上文件與社群資源
https://cmake.org/documentation
在此網頁上可以找到可用文件和社群資源的連結。
- Discourse 論壇
-
Discourse 論壇舉辦有關 CMake 的討論和問題。