CPack productbuild 產生器¶
版本 3.7 新增。
productbuild CPack 產生器 (macOS)。
CPack productbuild 產生器專用變數¶
以下變數是 macOS 上使用 ProductBuild 建置的安裝程式專用
- CPACK_COMMAND_PRODUCTBUILD¶
productbuild(1)
命令的路徑,用於為 macOS 安裝程式或 Mac App Store 產生產品封存檔。此變數可用於覆寫自動偵測到的命令 (或在自動偵測失敗時指定其位置)。
- CPACK_PRODUCTBUILD_IDENTIFIER¶
版本 3.23 新增。
設定要與產品關聯的唯一 (非本地化) 產品識別碼 (即
com.kitware.cmake
)。任何元件產品名稱都將附加到此值。
- CPACK_PRODUCTBUILD_IDENTITY_NAME¶
版本 3.8 新增。
為產生的套件新增數位簽章。
- CPACK_PRODUCTBUILD_KEYCHAIN_PATH¶
版本 3.8 新增。
指定要搜尋簽署身分識別的特定鑰匙圈。
- CPACK_COMMAND_PKGBUILD¶
pkgbuild(1)
命令的路徑,用於在 macOS 上產生 macOS 元件套件。此變數可用於覆寫自動偵測到的命令 (或在自動偵測失敗時指定其位置)。
- CPACK_PKGBUILD_IDENTITY_NAME¶
版本 3.8 新增。
為產生的套件新增數位簽章。
- CPACK_PKGBUILD_KEYCHAIN_PATH¶
版本 3.8 新增。
指定要搜尋簽署身分識別的特定鑰匙圈。
- CPACK_PREFLIGHT_<COMP>_SCRIPT¶
將用作指定
<COMP>
元件套件的preinstall
腳本的檔案完整路徑,其中<COMP>
是大寫的元件名稱。如果未針對給定元件定義此變數,則不會新增preinstall
腳本。
- CPACK_POSTFLIGHT_<COMP>_SCRIPT¶
將用作指定
<COMP>
元件套件的postinstall
腳本的檔案完整路徑,其中<COMP>
是大寫的元件名稱。如果未針對給定元件定義此變數,則不會新增postinstall
腳本。
- CPACK_PRODUCTBUILD_RESOURCES_DIR¶
版本 3.9 新增。
如果指定,productbuild 產生器會將此目錄中的檔案 (包括子目錄) 複製到
Resources
目錄。這會在複製CPACK_RESOURCE_FILE_WELCOME
、CPACK_RESOURCE_FILE_README
和CPACK_RESOURCE_FILE_LICENSE
檔案之前完成。
- CPACK_PRODUCTBUILD_DOMAINS¶
版本 3.23 新增。
此選項可更精細地控制產品的安裝位置。當設定為 true 時 (請參閱政策
CMP0161
),以下形式的domains
元素將新增至 productbuild Distribution XML<domains enable_anywhere="true" enable_currentUserHome="false" enable_localSystem="true"/>
預設值如上所示,但可以使用
CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE
、CPACK_PRODUCTBUILD_DOMAINS_USER
和CPACK_PRODUCTBUILD_DOMAINS_ROOT
覆寫。
- CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE¶
版本 3.23 新增。
可用於覆寫 Distribution XML 的
domains
元素中的enable_anywhere
屬性。當設定為 true 時,產品可以安裝在任何磁碟區的根目錄,包括非系統磁碟區。CPACK_PRODUCTBUILD_DOMAINS
必須設定為 true,此變數才會生效。
- CPACK_PRODUCTBUILD_DOMAINS_USER¶
版本 3.23 新增。
可用於覆寫 Distribution XML 的
domains
元素中的enable_currentUserHome
屬性。當設定為 true 時,產品可以安裝到目前使用者的主目錄中。請注意,當安裝到使用者的主目錄時,以下額外需求將適用安裝程式不得寫入使用者主目錄以外的位置。
安裝將以目前使用者而非
root
身分執行。這可能會對CPACK_PREFLIGHT_<COMP>_SCRIPT
和CPACK_POSTFLIGHT_<COMP>_SCRIPT
產生影響。執行安裝不需要管理員權限。
CPACK_PRODUCTBUILD_DOMAINS
必須設定為 true,此變數才會生效。
- CPACK_PRODUCTBUILD_DOMAINS_ROOT¶
版本 3.23 新增。
可用於覆寫 Distribution XML 的
domains
元素中的enable_localSystem
屬性。當設定為 true 時,產品可以安裝在根目錄中。除非產品僅應安裝到使用者的主目錄,否則通常應將其設定為 true。CPACK_PRODUCTBUILD_DOMAINS
必須設定為 true,此變數才會生效。
背景圖片¶
版本 3.17 新增。
此變數群組控制產生的安裝程式的背景圖片。
- CPACK_PRODUCTBUILD_BACKGROUND¶
如果指定,則將背景新增至 Distribution XML。此值包含
Resources
目錄中圖片的路徑。
- CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT¶
將
alignment
屬性新增至 Distribution XML 中的背景。請參閱 Apple 文件以取得有效值。
- CPACK_PRODUCTBUILD_BACKGROUND_SCALING¶
將
scaling
屬性新增至 Distribution XML 中的背景。請參閱 Apple 文件以取得有效值。
- CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE¶
將
mime-type
屬性新增至 Distribution XML 中的背景。此選項包含圖片的 MIME 類型。
- CPACK_PRODUCTBUILD_BACKGROUND_UTI¶
將
uti
屬性新增至 Distribution XML 中的背景。此選項包含圖片的 UTI 類型。
- CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA¶
如果指定,則為 Dark Aqua 主題將背景新增至 Distribution XML。此值包含
Resources
目錄中圖片的路徑。
- CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_ALIGNMENT¶
與
CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT
選項的功能相同,但適用於深色主題。
- CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_SCALING¶
與
CPACK_PRODUCTBUILD_BACKGROUND_SCALING
選項的功能相同,但適用於深色主題。
- CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_MIME_TYPE¶
與
CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE
選項的功能相同,但適用於深色主題。
- CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_UTI¶
與
CPACK_PRODUCTBUILD_BACKGROUND_UTI
選項的功能相同,但適用於深色主題。
Distribution XML 範本¶
CPack 使用範本檔案來產生此套件產生器內部使用的 distribution.dist
檔案。通常,CMake 提供範本檔案,但專案可以透過將名為 CPack.distribution.dist.in
的檔案放在 CMAKE_MODULE_PATH
變數中列出的其中一個目錄中來提供自己的範本檔案。然後,CPack 將選取專案的範本檔案,而不是使用自己的範本檔案。
distribution.dist
檔案是透過執行類似於 configure_file()
命令的替換來產生的。CPack 執行時設定的任何變數都可使用常用的 @...@
形式進行替換。以下變數也在內部設定,並可用於替換
CPACK_RESOURCE_FILE_LICENSE_NOPATH
與
CPACK_RESOURCE_FILE_LICENSE
相同,只是沒有路徑。具名檔案將與產生的distribution.dist
檔案位於相同的目錄中。CPACK_RESOURCE_FILE_README_NOPATH
與
CPACK_RESOURCE_FILE_README
相同,只是沒有路徑。具名檔案將與產生的distribution.dist
檔案位於相同的目錄中。CPACK_RESOURCE_FILE_WELCOME_NOPATH
與
CPACK_RESOURCE_FILE_WELCOME
相同,只是沒有路徑。具名檔案將與產生的distribution.dist
檔案位於相同的目錄中。CPACK_APPLE_PKG_INSTALLER_CONTENT
版本 3.23 新增。
這包含所有指定安裝程式範圍選項 (包括網域詳細資訊)、預設背景和選擇外框的 XML 元素。
CPACK_PACKAGEMAKER_CHOICES
自版本 3.23 起已棄用。
這僅包含指定預設背景和選擇外框的 XML 元素。它不包含安裝程式範圍的選項或任何網域詳細資訊。請改用
CPACK_APPLE_PKG_INSTALLER_CONTENT
。