CPack productbuild 產生器

新增於版本 3.7。

productbuild CPack 產生器 (macOS)。

CPack productbuild 產生器特有的變數

以下變數是使用 ProductBuild 在 Mac macOS 上建置的安裝程式所特有的

CPACK_COMMAND_PRODUCTBUILD

用於產生 macOS 安裝程式或 Mac App Store 產品封存檔的 productbuild(1) 命令的路徑。此變數可用於覆寫自動偵測到的命令(或在自動偵測找不到時指定其位置)。

CPACK_PRODUCTBUILD_IDENTIFIER

新增於版本 3.23。

設定要與產品關聯的唯一(非本地化)產品識別碼(即 com.kitware.cmake)。任何組件產品名稱都將附加到此值。

CPACK_PRODUCTBUILD_IDENTITY_NAME

新增於版本 3.8。

將數位簽章新增至產生的套件。

CPACK_PRODUCTBUILD_KEYCHAIN_PATH

新增於版本 3.8。

指定要搜尋簽署身分金鑰的特定鑰匙圈。

CPACK_COMMAND_PKGBUILD

用於在 macOS 上產生 macOS 組件套件的 pkgbuild(1) 命令的路徑。此變數可用於覆寫自動偵測到的命令(或在自動偵測找不到時指定其位置)。

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