CPack DragNDrop 生成器¶
DragNDrop CPack 生成器(macOS)用于创建 DMG 镜像。
CPack DragNDrop 生成器的特定变量¶
以下变量是 macOS 上构建的 DragNDrop 安装程序所特有的
- CPACK_DMG_VOLUME_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之前被安装到镜像中。默认情况下不设置背景图像。
- CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK¶
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文件。版本 3.17 新增: RTF 支持。
- CPACK_DMG_SLA_LANGUAGES¶
3.5 版本新增。
挂载生成的 DMG 时提供许可协议的语言。菜单文件由 9 行文本组成。第一行是语言本身的名称,大写,英文(例如 German)。其他行是以下字符串的翻译:
Agree(同意)
Disagree(不同意)
Print(打印)
Save...(保存...)
You agree to the terms of the License Agreement when you click the "Agree" button.(点击“同意”按钮即表示您同意许可协议条款。)
Software License Agreement(软件许可协议)
This text cannot be saved. The disk may be full or locked, or the file may be locked.(无法保存此文本。磁盘可能已满或被锁定,或者文件被锁定。)
Unable to print. Make sure you have selected a printer.(无法打印。请确保已选择打印机。)
对于此列表中的每种语言,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+
文件系统格式。常用值包括
APFS和HFS+。有关受支持格式的完整列表,请参见man hdiutil。
- CPACK_COMMAND_HDIUTIL¶
用于在 macOS 上操作磁盘镜像文件的
hdiutil(1)命令的路径。此变量可用于覆盖自动检测到的命令(或者在自动检测失败时指定其位置)。
- CPACK_COMMAND_SETFILE¶
用于在 macOS 上设置文件和目录扩展属性的
SetFile(1)命令的路径。此变量可用于覆盖自动检测到的命令(或者在自动检测失败时指定其位置)。
- CPACK_COMMAND_REZ¶
用于在 macOS 上编译资源的
Rez(1)命令的路径。此变量可用于覆盖自动检测到的命令(或者在自动检测失败时指定其位置)。