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 版本新增。

默认:

OFF

控制是否使用 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 文件。

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

hdiutil(1) 命令的路径,用于在 macOS 上操作磁盘映像文件。此变量可用于覆盖自动检测到的命令(或者如果自动检测找不到命令,则指定其位置)。

CPACK_COMMAND_SETFILE

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

CPACK_COMMAND_REZ

Rez(1) 命令的路径,用于在 macOS 上编译资源。此变量可用于覆盖自动检测到的命令(或者如果自动检测找不到命令,则指定其位置)。