cpack(1)¶
概要¶
cpack [<options>]
描述¶
cpack 執行檔是 CMake 的封裝程式。它會產生各種格式的安裝程式和原始碼套件。
對於每個安裝程式或套件格式,cpack 都有一個特定的後端,稱為「產生器」。產生器負責產生所需的輸入並調用特定的套件建立工具。這些安裝程式或套件產生器不要與 cmake
命令的 makefile 產生器混淆。
所有支援的產生器都在 cpack-generators
手冊中指定。命令 cpack --help
會印出目標平台支援的產生器清單。要使用哪些產生器可以通過 CPACK_GENERATOR
變數或通過命令列選項 -G
選擇。
cpack 程式由以 CMake 語言
撰寫的組態檔引導。除非通過命令列選項 --config
另行選擇,否則將使用目前目錄中的 CPackConfig.cmake
檔案。
在標準 CMake 工作流程中,CPackConfig.cmake
檔案由 cmake
執行檔產生,前提是專案的 CMakeLists.txt
檔案中包含 CPack
模組。
選項¶
- -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 <關鍵字> [<檔案>]¶
列印一個 CMake 關鍵字的說明。
<關鍵字>
可以是屬性、變數、命令、策略、產生器或模組。以人類可讀的文字格式列印
<關鍵字>
的相關手冊條目。如果給定,輸出將列印到指定的<檔案>
。變更於 3.28 版本: 在 CMake 3.28 之前,此選項僅支援命令名稱。
- --help-full [<檔案>]¶
列印所有說明手冊並退出。
所有手冊都以人類可讀的文字格式列印。如果給定,輸出將列印到指定的
<檔案>
。
- --help-manual <手冊> [<檔案>]¶
列印一本說明手冊並退出。
指定的手冊以人類可讀的文字格式列印。如果給定,輸出將列印到指定的
<檔案>
。
- --help-manual-list [<檔案>]¶
列出可用的說明手冊並退出。
此清單包含所有可以使用
--help-manual
選項後跟手冊名稱來獲得說明的手冊。如果給定,輸出將列印到指定的<檔案>
。
- --help-command <命令> [<檔案>]¶
列印一個命令的說明並退出。
以人類可讀的文字格式列印
<命令>
的cmake-commands(7)
手冊條目。如果給定,輸出將列印到指定的<檔案>
。
- --help-command-list [<檔案>]¶
列出具有可用說明的命令並退出。
此清單包含所有可以使用
--help-command
選項後跟命令名稱來獲得說明的命令。如果給定,輸出將列印到指定的<檔案>
。
- --help-commands [<檔案>]¶
列印 cmake-commands 手冊並退出。
以人類可讀的文字格式列印
cmake-commands(7)
手冊。如果給定,輸出將列印到指定的<檔案>
。
- --help-module <模組> [<檔案>]¶
列印一個模組的說明並退出。
以人類可讀的文字格式列印
<模組>
的cmake-modules(7)
手冊條目。如果給定,輸出將列印到指定的<檔案>
。
- --help-module-list [<檔案>]¶
列出具有可用說明的模組並退出。
此清單包含所有可以使用
--help-module
選項後跟模組名稱來獲得說明的模組。如果給定,輸出將列印到指定的<檔案>
。
- --help-modules [<檔案>]¶
列印 cmake-modules 手冊並退出。
以人類可讀的文字格式列印
cmake-modules(7)
手冊。如果給定,輸出將列印到指定的<檔案>
。
- --help-policy <cmp> [<檔案>]¶
列印一個策略的說明並退出。
以人類可讀的文字格式列印
<cmp>
的cmake-policies(7)
手冊條目。如果給定,輸出將列印到指定的<檔案>
。
- --help-policy-list [<檔案>]¶
列出具有可用說明的策略並退出。
此清單包含所有可以使用
--help-policy
選項後跟策略名稱來獲得說明的策略。如果給定,輸出將列印到指定的<檔案>
。
- --help-policies [<檔案>]¶
列印 cmake-policies 手冊並退出。
以人類可讀的文字格式列印
cmake-policies(7)
手冊。如果給定,輸出將列印到指定的<檔案>
。
- --help-property <屬性> [<檔案>]¶
列印一個屬性的說明並退出。
以人類可讀的文字格式列印
<屬性>
的cmake-properties(7)
手冊條目。如果給定,輸出將列印到指定的<檔案>
。
- --help-property-list [<檔案>]¶
列出具有可用說明的屬性並退出。
此清單包含所有可以使用
--help-property
選項後跟屬性名稱來獲得說明的屬性。如果給定,輸出將列印到指定的<檔案>
。
- --help-properties [<檔案>]¶
列印 cmake-properties 手冊並退出。
以人類可讀的文字格式列印
cmake-properties(7)
手冊。如果給定,輸出將列印到指定的<檔案>
。
- --help-variable <變數> [<檔案>]¶
列印一個變數的說明並退出。
以人類可讀的文字格式列印
<變數>
的cmake-variables(7)
手冊條目。如果給定,輸出將列印到指定的<檔案>
。
- --help-variable-list [<檔案>]¶
列出具有可用說明的變數並退出。
此清單包含所有可以使用
--help-variable
選項後跟變數名稱來獲得說明的變數。如果給定,輸出將列印到指定的<檔案>
。
- --help-variables [<檔案>]¶
列印 cmake-variables 手冊並退出。
以人類可讀的文字格式列印
cmake-variables(7)
手冊。如果給定,輸出將列印到指定的<檔案>
。
參見¶
以下資源可用於獲得 CMake 使用方面的協助
- 首頁
-
學習 CMake 的主要起點。
- 線上文件和社群資源
https://cmake.dev.org.tw/documentation
可在本網頁上找到可用文件和社群資源的連結。
- Discourse 論壇
-
Discourse 論壇託管關於 CMake 的討論和問題。