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 <組態>

指定要封裝的專案組態(例如 DebugRelease 等),其中 <組態>分號分隔清單。當 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_MAJORCPACK_PACKAGE_VERSION_MINORCPACK_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 使用方面的協助

首頁

https://cmake.dev.org.tw

學習 CMake 的主要起點。

線上文件和社群資源

https://cmake.dev.org.tw/documentation

可在本網頁上找到可用文件和社群資源的連結。

Discourse 論壇

https://discourse.cmake.org

Discourse 論壇託管關於 CMake 的討論和問題。