CPack DragNDrop 生成器

DragNDrop CPack 生成器 (macOS) 会创建一个 DMG 镜像。

CPack DragNDrop 生成器特有的变量

以下变量是为 macOS 上构建的 DragNDrop 安装程序特有的

CPACK_DMG_VOLUME_NAME

生成的磁盘镜像的卷名称。

默认值

CPACK_PACKAGE_FILE_NAME

CPACK_DMG_FORMAT

磁盘镜像格式。

默认值

UDZO

常用值包括 UDRO (UDIF 只读)、UDZO (UDIF zlib 压缩) 或 UDBZ (UDIF bzip2 压缩)。有关其他可用格式的更多信息,请参阅 hdiutil(1)

CPACK_DMG_DS_STORE

自定义 .DS_Store 文件的路径。此 .DS_Store 文件可用于指定 Finder 窗口的位置/几何形状和布局 (例如隐藏工具栏、图标位置等)。此文件必须由 Finder 生成 (手动或通过 AppleScript),使用可以从中提取 .DS_Store 文件的普通文件夹。

CPACK_DMG_DS_STORE_SETUP_SCRIPT

3.5 版本新增。

自定义 AppleScript 文件的路径。此 AppleScript 用于生成一个 .DS_Store 文件,该文件指定 Finder 窗口的位置/几何形状和布局 (例如隐藏工具栏、图标位置等)。通过指定自定义 AppleScript,无需使用 CPACK_DMG_DS_STORE,因为 AppleScript 生成的 .DS_Store 将被打包。

CPACK_DMG_BACKGROUND_IMAGE
默认值

用作背景的图像文件的路径。此文件将被复制到 .background/background.<ext>,其中 <ext> 是原始图像文件的扩展名。背景图像在执行 CPACK_DMG_DS_STORE_SETUP_SCRIPT 或安装 CPACK_DMG_DS_STORE 之前被安装到镜像中。默认情况下不设置背景图像。

3.6 版本新增。

默认行为是在 DMG 中包含一个指向 /Applications 的符号链接。将此选项设置为 ON 可避免添加此符号链接。

CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE

在版本 3.23 中添加。

默认值

关闭

控制是否使用 CPACK_RESOURCE_FILE_LICENSE (如果设置为非默认值) 作为挂载 DMG 时提供的许可协议。如果未设置 CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE,则 cpack(1) 默认为关闭。

在使用 CPack 模块生成 CPackConfig.cmake 的 CMake 项目中,项目必须显式启用 CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE 才能激活 SLA。请参阅策略 CMP0133

注意

此选项是为了响应 macOS 12.0 弃用 hdiutil udifrez 命令而添加的,以便使其使用成为可选。CPack 3.22 及更早版本始终使用 CPACK_RESOURCE_FILE_LICENSE (如果设置为非默认值) 作为 DMG 许可证。

CPACK_DMG_SLA_DIR

3.5 版本新增。

存放不同语言的许可和菜单文件的目录。设置此项后,CPack 将在 CPACK_DMG_SLA_LANGUAGES 中定义的每种语言查找 <language>.menu.txt<language>.license.txt<language>.license.rtf 文件。如果同时设置了此变量和 CPACK_RESOURCE_FILE_LICENSE,CPack 将只查找菜单文件,并对所有语言使用相同的许可证文件。如果同时存在 <language>.license.txt<language>.license.rtf,则使用 .txt 文件。

Added in version 3.17: RTF 支持。

CPACK_DMG_SLA_LANGUAGES

3.5 版本新增。

提供许可协议的语言,当挂载生成的 DMG 时显示。菜单文件包含 9 行文本。第一行是语言本身的名称,大写,用英语表示 (例如 German)。其他行是以下字符串的翻译:

  • 同意

  • 不同意

  • 打印

  • 保存...

  • 当您点击“同意”按钮时,即表示您同意许可协议的条款。

  • 软件许可协议

  • 此文本无法保存。磁盘可能已满或已锁定,或者文件可能已锁定。

  • 无法打印。请确保您已选择打印机。

对于此列表中的每种语言,CPack 将尝试在 CPACK_DMG_SLA_DIR 变量指定的目录中查找 <language>.menu.txt<language>.license.txt 文件。

CPACK_DMG_<component>_FILE_NAME

在 3.17 版本中添加。

当将 <component> 打包为自己的 DMG 时 ( CPACK_COMPONENTS_GROUPING 设置为 IGNORE)。

默认值

CPACK_PACKAGE_FILE_NAME-<component>

CPACK_DMG_FILESYSTEM

3.21 版本新增。

默认值

HFS+

文件系统格式。常用值包括 APFSHFS+。有关支持格式的完整列表,请参阅 man hdiutil

CPACK_COMMAND_HDIUTIL

用于在 macOS 上操作磁盘镜像文件的 hdiutil(1) 命令的路径。此变量可用于覆盖自动检测到的命令 (或在其自动检测失败时指定其位置)。

CPACK_COMMAND_SETFILE

用于在 macOS 上设置文件和目录扩展属性的 SetFile(1) 命令的路径。此变量可用于覆盖自动检测到的命令 (或在其自动检测失败时指定其位置)。

CPACK_COMMAND_REZ

用于在 macOS 上编译资源的 Rez(1) 命令的路径。此变量可用于覆盖自动检测到的命令 (或在其自动检测失败时指定其位置)。