CPackIFW

版本 3.1 中新增。

此模块查找与Qt Installer Framework (QtIFW) 一起提供的命令行实用程序的位置。

在 CMake 项目中加载此模块,使用

include(CPackIFW)

该模块还定义了几个命令来控制CPack IFW Generator 的行为。

命令

该模块定义了以下命令

cpack_ifw_configure_component

设置 CPack IFW 生成器特有的参数。

cpack_ifw_configure_component(<compname> [COMMON] [ESSENTIAL] [VIRTUAL]
                    [FORCED_INSTALLATION] [REQUIRES_ADMIN_RIGHTS]
                    [NAME <name>]
                    [DISPLAY_NAME <display_name>] # Note: Internationalization supported
                    [DESCRIPTION <description>] # Note: Internationalization supported
                    [UPDATE_TEXT <update_text>]
                    [VERSION <version>]
                    [RELEASE_DATE <release_date>]
                    [SCRIPT <script>]
                    [PRIORITY|SORTING_PRIORITY <sorting_priority>] # Note: PRIORITY is deprecated
                    [DEPENDS|DEPENDENCIES <com_id> ...]
                    [AUTO_DEPEND_ON <comp_id> ...]
                    [LICENSES <display_name> <file_path> ...]
                    [DEFAULT <value>]
                    [USER_INTERFACES <file_path> <file_path> ...]
                    [TRANSLATIONS <file_path> <file_path> ...]
                    [REPLACES <comp_id> ...]
                    [CHECKABLE <value>])

此命令应在调用 cpack_add_component() 命令之后调用。

COMMON

如果设置,则组件将被打包并作为其所属组的一部分进行安装。

ESSENTIAL

3.6 版本新增。

如果设置,则在更新该组件之前,包管理器将保持禁用状态。

VIRTUAL

版本 3.8 新增。

如果设置,则该组件将从安装程序中隐藏。它等同于 cpack_add_component() 命令中的 HIDDEN 选项。

FORCED_INSTALLATION

版本 3.8 新增。

如果设置,则该组件必须始终安装。它等同于 cpack_add_component() 命令中的 REQUIRED 选项。

REQUIRES_ADMIN_RIGHTS

版本 3.8 新增。

如果组件需要使用提升的权限进行安装,则设置此选项。

名称

用于为此组件创建类似域的标识。默认情况下使用原始组件名称。

DISPLAY_NAME

版本 3.8 新增。

设置为覆盖由 cpack_add_component() 命令配置的原始名称。

DESCRIPTION

版本 3.8 新增。

设置为覆盖由 cpack_add_component() 命令配置的原始描述。

UPDATE_TEXT

版本 3.8 新增。

如果这是组件的更新,则会添加到组件描述中。

VERSION

是组件的版本。默认情况下使用 CPACK_PACKAGE_VERSION

RELEASE_DATE

版本 3.8 新增。

留空可自动生成。

SCRIPT

是此组件操作脚本的相对或绝对路径。

SORTING_PRIORITY

版本 3.8 新增。

是组件在树中的优先级。

PRIORITY

自 3.8 版本起已弃用: SORTING_PRIORITY 的旧名称。

DEPENDS, DEPENDENCIES

版本 3.8 新增。

QtIFW 样式的依赖组件或组件组标识符列表。

3.21 版本新增。

作为依赖项列出的组件或组名可能包含连字符。这需要 QtIFW 3.1 或更高版本。

AUTO_DEPEND_ON

版本 3.8 新增。

此组件自动依赖的 QtIFW 样式的组件或组件组标识符列表。

LICENSES

此组件许可证文本的 <display_name> 和 <file_path> 对。您可以指定多个许可证。

DEFAULT

版本 3.8 新增。

可能的值为:TRUE、FALSE 和 SCRIPT。设置为 FALSE 以在安装程序中禁用该组件,或设置为 SCRIPT 以在运行时解析(不要忘记将脚本文件添加为 SCRIPT 选项的值)。

USER_INTERFACES

3.7 版本中新增。

是要加载的页面的 <file_path> ('.ui' 文件) 列表。

TRANSLATIONS

版本 3.8 新增。

是要加载的翻译的 <file_path> ('.qm' 文件) 列表。

REPLACES

3.10 版本新增。

要替换的组件或组件组标识符列表。

CHECKABLE

3.10 版本新增。

可能的值为:TRUE、FALSE。如果希望隐藏某项的复选框,请将其设置为 FALSE。当只需要选择少数子组件而不是所有子组件时,这非常有用。

cpack_ifw_configure_component_group

设置 CPack IFW 生成器特有的参数。

cpack_ifw_configure_component_group(<groupname> [VIRTUAL]
                    [FORCED_INSTALLATION] [REQUIRES_ADMIN_RIGHTS]
                    [NAME <name>]
                    [DISPLAY_NAME <display_name>] # Note: Internationalization supported
                    [DESCRIPTION <description>] # Note: Internationalization supported
                    [UPDATE_TEXT <update_text>]
                    [VERSION <version>]
                    [RELEASE_DATE <release_date>]
                    [SCRIPT <script>]
                    [PRIORITY|SORTING_PRIORITY <sorting_priority>] # Note: PRIORITY is deprecated
                    [DEPENDS|DEPENDENCIES <com_id> ...]
                    [AUTO_DEPEND_ON <comp_id> ...]
                    [LICENSES <display_name> <file_path> ...]
                    [DEFAULT <value>]
                    [USER_INTERFACES <file_path> <file_path> ...]
                    [TRANSLATIONS <file_path> <file_path> ...]
                    [REPLACES <comp_id> ...]
                    [CHECKABLE <value>])

此命令应在调用 cpack_add_component_group() 命令之后调用。

VIRTUAL

版本 3.8 新增。

如果设置,则该组将从安装程序中隐藏。请注意,对根组件设置此选项无效。

FORCED_INSTALLATION

版本 3.8 新增。

如果设置,则该组必须始终安装。

REQUIRES_ADMIN_RIGHTS

版本 3.8 新增。

如果组件组需要使用提升的权限进行安装,则设置此选项。

名称

用于为此组件组创建类似域的标识。默认情况下使用原始组件组名称。

DISPLAY_NAME

版本 3.8 新增。

设置为覆盖由 cpack_add_component_group() 命令配置的原始名称。

DESCRIPTION

版本 3.8 新增。

设置为覆盖由 cpack_add_component_group() 命令配置的原始描述。

UPDATE_TEXT

版本 3.8 新增。

如果这是组件组的更新,则会添加到组件组描述中。

VERSION

是组件组的版本。默认情况下使用 CPACK_PACKAGE_VERSION

RELEASE_DATE

版本 3.8 新增。

留空可自动生成。

SCRIPT

是组件组操作脚本的相对或绝对路径。

SORTING_PRIORITY

是组件组在树中的优先级。

PRIORITY

自 3.8 版本起已弃用: SORTING_PRIORITY 的旧名称。

DEPENDS, DEPENDENCIES

版本 3.8 新增。

QtIFW 样式的依赖组件或组件组标识符列表。

3.21 版本新增。

作为依赖项列出的组件或组名可能包含连字符。这需要 QtIFW 3.1 或更高版本。

AUTO_DEPEND_ON

版本 3.8 新增。

此组件组自动依赖的 QtIFW 样式的组件或组件组标识符列表。

LICENSES

此组件组许可证文本的 <display_name> 和 <file_path> 对。您可以指定多个许可证。

DEFAULT

版本 3.8 新增。

可能的值为:TRUE、FALSE 和 SCRIPT。设置为 TRUE 以在安装程序中预选该组(这仅对没有可见子组件的组有效),或设置为 SCRIPT 以在运行时解析(不要忘记将脚本文件添加为 SCRIPT 选项的值)。

USER_INTERFACES

3.7 版本中新增。

是要加载的页面的 <file_path> ('.ui' 文件) 列表。

TRANSLATIONS

版本 3.8 新增。

是要加载的翻译的 <file_path> ('.qm' 文件) 列表。

REPLACES

3.10 版本新增。

要替换的组件或组件组标识符列表。

CHECKABLE

3.10 版本新增。

可能的值为:TRUE、FALSE。如果希望隐藏某项的复选框,请将其设置为 FALSE。当只需要选择少数子组件而不是所有子组件时,这非常有用。

cpack_ifw_add_repository

向二进制安装程序添加 QtIFW 特定远程存储库。

cpack_ifw_add_repository(<reponame> [DISABLED]
                    URL <url>
                    [USERNAME <username>]
                    [PASSWORD <password>]
                    [DISPLAY_NAME <display_name>])

此命令还将 <reponame> 存储库添加到变量 CPACK_IFW_REPOSITORIES_ALL

DISABLED

如果设置,则该存储库默认禁用。

URL

指向可用组件的列表。

USERNAME

用作受保护存储库上的用户。

PASSWORD

用于受保护存储库的密码。

DISPLAY_NAME

是要替换 URL 的字符串。

cpack_ifw_update_repository

3.6 版本新增。

从远程存储库更新 QtIFW 特定存储库。

cpack_ifw_update_repository(<reponame>
                    [[ADD|REMOVE] URL <url>]|
                     [REPLACE OLD_URL <old_url> NEW_URL <new_url>]]
                    [USERNAME <username>]
                    [PASSWORD <password>]
                    [DISPLAY_NAME <display_name>])

此命令还将 <reponame> 存储库添加到变量 CPACK_IFW_REPOSITORIES_ALL

URL

指向可用组件的列表。

OLD_URL

指向将被替换的列表。

NEW_URL

指向将替换为的列表。

USERNAME

用作受保护存储库上的用户。

PASSWORD

用于受保护存储库的密码。

DISPLAY_NAME

是要替换 URL 的字符串。

cpack_ifw_add_package_resources

3.7 版本中新增。

将其他资源添加到安装程序二进制文件中。

cpack_ifw_add_package_resources(<file_path> <file_path> ...)

此命令还将指定的文件添加到变量 CPACK_IFW_PACKAGE_RESOURCES