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_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
。