cpack(1)¶
概要¶
cpack [<options>]
描述¶
cpack 執行檔是 CMake 的封裝程式。它會產生各種格式的安裝程式和原始碼套件。
對於每個安裝程式或套件格式,cpack 都有一個特定的後端,稱為「產生器」。產生器負責產生所需的輸入並調用特定的套件建立工具。這些安裝程式或套件產生器不應與 cmake
命令的 makefile 產生器混淆。
所有支援的產生器都在 cpack-generators
手冊中指定。命令 cpack --help
會列印目標平台支援的產生器清單。可以使用 CPACK_GENERATOR
變數或透過命令列選項 -G
來選擇要使用哪個產生器。
cpack 程式由以 CMake 語言
編寫的設定檔控制。除非透過命令列選項 --config
選擇其他檔案,否則會使用目前目錄中的 CPackConfig.cmake
檔案。
在標準 CMake 工作流程中,如果專案的 CMakeLists.txt
檔案包含 CPack
模組,則會由 cmake
執行檔產生 CPackConfig.cmake
檔案。
選項¶
- -G <產生器>¶
<產生器>
是以分號分隔的清單,其中包含產生器名稱。cpack 將會逐一處理此清單,並根據CPackConfig.cmake
設定檔中提供的詳細資訊,以該產生器的格式產生套件。如果未指定此選項,則CPACK_GENERATOR
變數會決定將使用的預設產生器集合。
- -C <設定>¶
指定要封裝的專案設定(例如
Debug
、Release
等),其中<設定>
是以分號分隔的清單。當 CMake 專案使用多設定產生器(例如 Xcode 或 Visual Studio)時,需要使用此選項來告知 cpack 要在套件中包含哪些已建置的可執行檔。使用者有責任確保在調用 cpack 之前,已建置列出的設定。
- -D <變數>=<值>¶
設定 CPack 變數。這會覆寫 cpack 讀取的輸入檔案中為
<變數>
設定的任何值。
- --config <設定檔>¶
指定 cpack 讀取的設定檔,以提供封裝詳細資訊。預設情況下,將使用目前目錄中的
CPackConfig.cmake
。
- -V, --verbose¶
以詳細輸出執行 cpack。這可以用來顯示來自套件產生工具的更多詳細資訊,適用於專案開發人員。
- --debug¶
以偵錯輸出執行 cpack。此選項主要適用於 cpack 本身的開發人員,專案開發人員通常不需要。
- --trace¶
將底層的 cmake 腳本設定為追蹤模式。
- --trace-expand¶
將底層的 cmake 腳本設定為展開的追蹤模式。
- -P <套件名稱>¶
覆寫/定義用於封裝的
CPACK_PACKAGE_NAME
變數的值。CPackConfig.cmake
檔案中為此變數設定的任何值都會被忽略。
- -R <套件版本>¶
覆寫/定義用於封裝的
CPACK_PACKAGE_VERSION
變數的值。它會覆寫CPackConfig.cmake
檔案中設定的值,或從CPACK_PACKAGE_VERSION_MAJOR
、CPACK_PACKAGE_VERSION_MINOR
和CPACK_PACKAGE_VERSION_PATCH
自動計算的值。
- -B <套件目錄>¶
覆寫/定義
CPACK_PACKAGE_DIRECTORY
,它控制 CPack 執行封裝工作的目錄。預設情況下,產生的套件將在此位置建立,並且也會在此目錄下建立_CPack_Packages
子目錄,以在建立套件期間用作工作區。
- --vendor <供應商名稱>¶
覆寫/定義
CPACK_PACKAGE_VENDOR
。
- --preset <預設名稱>¶
使用
cmake-presets(7)
中的預設。
- --list-presets¶
列出
cmake-presets(7)
中的預設。
- -version [<檔案>], --version [<檔案>], /V [<檔案>]¶
顯示程式名稱/版本標題並結束。如果指定,則輸出會列印到指定的
<檔案>
。
- -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>]¶
列印一個命令的說明並結束。
會以人類可讀的文字格式列印出
<cmd>
的cmake-commands(7)
手冊條目。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-command-list [<file>]¶
列出具有可用說明的命令並結束。
此清單包含所有可使用
--help-command
選項以及命令名稱來獲取說明的各命令。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-commands [<file>]¶
列印 cmake-commands 手冊並結束。
會以人類可讀的文字格式列印出
cmake-commands(7)
手冊。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-module <mod> [<file>]¶
列印一個模組的說明並結束。
會以人類可讀的文字格式列印出
<mod>
的cmake-modules(7)
手冊條目。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-module-list [<file>]¶
列出具有可用說明的模組並結束。
此清單包含所有可使用
--help-module
選項以及模組名稱來獲取說明的各模組。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-modules [<file>]¶
列印 cmake-modules 手冊並結束。
會以人類可讀的文字格式列印出
cmake-modules(7)
手冊。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-policy <cmp> [<file>]¶
列印一個政策的說明並結束。
會以人類可讀的文字格式列印出
<cmp>
的cmake-policies(7)
手冊條目。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-policy-list [<file>]¶
列出具有可用說明的政策並結束。
此清單包含所有可使用
--help-policy
選項以及政策名稱來獲取說明的各政策。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-policies [<file>]¶
列印 cmake-policies 手冊並結束。
會以人類可讀的文字格式列印出
cmake-policies(7)
手冊。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-property <prop> [<file>]¶
列印一個屬性的說明並結束。
會以人類可讀的文字格式列印出
<prop>
的cmake-properties(7)
手冊條目。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-property-list [<file>]¶
列出具有可用說明的屬性並結束。
此清單包含所有可使用
--help-property
選項以及屬性名稱來獲取說明的各屬性。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-properties [<file>]¶
列印 cmake-properties 手冊並結束。
會以人類可讀的文字格式列印出
cmake-properties(7)
手冊。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-variable <var> [<file>]¶
列印一個變數的說明並結束。
會以人類可讀的文字格式列印出
<var>
的cmake-variables(7)
手冊條目。如果提供了<file>
,則會將輸出列印到指定的檔案。
- --help-variable-list [<file>]¶
列出具有可用說明的變數並結束。
此列表包含所有可使用
--help-variable
選項並接續變數名稱來獲取幫助的變數。如果指定了<file>
,輸出會被列印至指定的檔案。
- --help-variables [<file>]¶
列印 cmake 變數手冊並結束程式。
cmake-variables(7)
手冊會以人類可讀的文字格式列印。如果指定了<file>
,輸出會被列印至指定的檔案。
參見¶
以下資源可供您取得 CMake 的使用幫助
- 首頁
-
學習 CMake 的主要起點。
- 線上文件與社群資源
https://cmake.dev.org.tw/documentation
可在此網頁找到可用文件和社群資源的連結。
- Discourse 論壇
-
Discourse 論壇提供關於 CMake 的討論和提問。