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_WELCOMECPACK_RESOURCE_FILE_READMECPACK_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_ANYWHERECPACK_PRODUCTBUILD_DOMAINS_USERCPACK_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 時,產品可以安裝到目前使用者的主目錄中。請注意,當安裝到使用者的主目錄時,以下額外需求將適用

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