Spec-Zone.ru › CMake 3.6

CPackIFW

Этот модуль ищет расположение утилит командной строки, поставляемых с Qt Installer Framework (QtIFW).

Модуль также определяет несколько команд для управления поведением генератора CPack IFW.

Обзор

Генератор CPack IFW помогает создавать кроссплатформенные установочные пакеты в онлайн и офлайн режимах с графическим интерфейсом пользователя.

Генератор CPack IFW подготавливает установку проекта и генерирует конфигурационную и метаинформацию для инструментов QtIFW.

QtIFW предоставляет набор инструментов и утилит для создания установочных пакетов для поддерживаемых настольных платформ Qt: Linux, Microsoft Windows и Mac OS X.

Для использования генератора CPack IFW также необходимо установить QtIFW. Если вы используете нестандартный путь установки, задайте его в переменной QTIFWDIR.

Переменные

Вы можете использовать следующие переменные для изменения поведения генератора CPack IFW.

Отладка

CPACK_IFW_VERBOSE

Установите в ON для включения дополнительного вывода отладки. По умолчанию OFF.

Пакет

CPACK_IFW_PACKAGE_TITLE

Название установочного пакета, отображаемое в строке заголовка. По умолчанию используется CPACK_PACKAGE_DESCRIPTION_SUMMARY.

CPACK_IFW_PACKAGE_PUBLISHER

Издатель программного обеспечения (отображается в Панели управления Windows). По умолчанию используется CPACK_PACKAGE_VENDOR.

CPACK_IFW_PRODUCT_URL

URL страницы с информацией о продукте на вашем веб-сайте.

CPACK_IFW_PACKAGE_ICON

Имя файла пользовательского значка установщика. Файл имеет расширение ‘.icns’ (Mac OS X), ‘.ico’ (Windows). Не работает в Unix.

CPACK_IFW_PACKAGE_WINDOW_ICON

Имя файла пользовательского значка окна в формате PNG для приложения установщика.

CPACK_IFW_PACKAGE_LOGO

Имя файла логотипа, используемого как QWizard::LogoPixmap.

CPACK_IFW_PACKAGE_START_MENU_DIRECTORY

Имя группы программ по умолчанию для продукта в меню Пуск Windows.

По умолчанию используется CPACK_IFW_PACKAGE_NAME.

CPACK_IFW_TARGET_DIRECTORY

Директория назначения по умолчанию для установки. По умолчанию “@ApplicationsDir@/CPACK_PACKAGE_INSTALL_DIRECTORY”

Вы можете использовать предопределённые переменные.

CPACK_IFW_ADMIN_TARGET_DIRECTORY

Директория назначения по умолчанию для установки с правами администратора.

Вы можете использовать предопределённые переменные.

CPACK_IFW_PACKAGE_GROUP

Группа, которая будет использоваться для настройки корневого пакета.

CPACK_IFW_PACKAGE_NAME

Имя корневого пакета, которое будет использоваться, если не указана группа конфигурации.

CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME

Имя файла сгенерированного инструмента обслуживания. К имени добавляется платформа-специфическое расширение исполняемого файла.

По умолчанию используются значения по умолчанию QtIFW (maintenancetool).

CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE

Имя файла конфигурации сгенерированного инструмента обслуживания.

По умолчанию используются значения по умолчанию QtIFW (maintenancetool.ini).

CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS

Установите в ON если путь установки может содержать не-ASCII символы.

Для инструментов QtIFW версии ниже 2.0 значение ON.

CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH

Установите в OFF если путь установки не может содержать пробелы.

Для инструментов QtIFW версии ниже 2.0 значение ON.

CPACK_IFW_PACKAGE_CONTROL_SCRIPT

Имя файла пользовательского скрипта управления установщиком.

CPACK_IFW_REPOSITORIES_ALL

Список удалённых репозиториев.

Значение по умолчанию этой переменной вычисляется CPack и содержит все репозитории, добавленные командой cpack_ifw_add_repository() или обновлённые командой cpack_ifw_update_repository().

CPACK_IFW_DOWNLOAD_ALL

Если значение ON, все компоненты будут скачаны. По умолчанию OFF или используется значение из CPACK_DOWNLOAD_ALL, если установлено.

Компоненты

CPACK_IFW_RESOLVE_DUPLICATE_NAMES

Разрешение дублирующихся имён при установке компонентов с группами.

CPACK_IFW_PACKAGES_DIRECTORIES

Дополнительные подготовленные директории пакетов, которые будут использоваться для разрешения зависимых компонентов.

Инструменты

CPACK_IFW_FRAMEWORK_VERSION

Версия используемых инструментов QtIFW.

CPACK_IFW_BINARYCREATOR_EXECUTABLE

Путь к исполняемому файлу клиента “binarycreator”.

Эта переменная кэшируется и может быть настроена пользователем, если необходимо.

CPACK_IFW_REPOGEN_EXECUTABLE

Путь к исполняемому файлу клиента “repogen”.

Эта переменная кэшируется и может быть настроена пользователем, если необходимо.

Команды

Модуль определяет следующие команды:

cpack_ifw_configure_component

Устанавливает аргументы, специфичные для генератора CPack IFW.

cpack_ifw_configure_component(<compname> [COMMON] [ESSENTIAL]
                    [NAME <name>]
                    [VERSION <version>]
                    [SCRIPT <script>]
                    [PRIORITY <priority>]
                    [DEPENDS <com_id> ...]
                    [LICENSES <display_name> <file_path> ...])

Эта команда должна вызываться после команды cpack_add_component().

COMMON если установлено, то компонент будет упакован и установлен как часть группы, к которой он принадлежит.

ESSENTIAL если установлено, то менеджер пакетов остаётся отключённым до обновления этого компонента.

NAME используется для создания идентификации, подобной домену, для этого компонента. По умолчанию используется имя исходного компонента.

VERSION - версия компонента. По умолчанию используется CPACK_PACKAGE_VERSION.

SCRIPT - относительный или абсолютный путь к скрипту операций для этого компонента.

PRIORITY - приоритет компонента в дереве.

DEPENDS - список идентификаторов зависимых компонентов в стиле QtIFW.

LICENSES - пара <display_name> и <file_path> текста лицензии для этого компонента. Можно указать более одной лицензии.

cpack_ifw_configure_component_group

Устанавливает аргументы, специфичные для генератора CPack IFW.

cpack_ifw_configure_component_group(<groupname>
                    [NAME <name>]
                    [VERSION <version>]
                    [SCRIPT <script>]
                    [PRIORITY <priority>]
                    [LICENSES <display_name> <file_path> ...])

Эта команда должна вызываться после команды cpack_add_component_group().

NAME используется для создания идентификации, подобной домену, для этой группы компонентов. По умолчанию используется имя исходной группы компонентов.

VERSION - версия группы компонентов. По умолчанию используется CPACK_PACKAGE_VERSION.

SCRIPT - относительный или абсолютный путь к скрипту операций для этой группы компонентов.

PRIORITY - приоритет группы компонентов в дереве.

LICENSES - пара <display_name> и <file_path> текста лицензии для этой группы компонентов. Можно указать более одной лицензии.

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

Обновить репозиторий, специфичный для 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.

Пример использования

set(CPACK_PACKAGE_NAME "MyPackage")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MyPackage Installation Example")
set(CPACK_PACKAGE_VERSION "1.0.0") # Version of installer

include(CPack)
include(CPackIFW)

cpack_add_component(myapp
    DISPLAY_NAME "MyApp"
    DESCRIPTION "My Application")
cpack_ifw_configure_component(myapp
    VERSION "1.2.3" # Version of component
    SCRIPT "operations.qs")
cpack_add_component(mybigplugin
    DISPLAY_NAME "MyBigPlugin"
    DESCRIPTION "My Big Downloadable Plugin"
    DOWNLOADED)
cpack_ifw_add_repository(myrepo
    URL "http://example.com/ifw/repo/myapp"
    DISPLAY_NAME "My Application Repository")

Онлайн-установщик

По умолчанию генератор CPack IFW создаёт автономный установщик. Это означает, что все компоненты будут упакованы в двоичный файл.

Чтобы скачать компонент, необходимо установить опцию DOWNLOADED в cpack_add_component().

Затем вы можете использовать команду cpack_configure_downloads(). Если вы установите опцию ALL, все компоненты будут скачаны.

Вы также можете использовать команду cpack_ifw_add_repository() и переменную CPACK_IFW_DOWNLOAD_ALL для более подробной настройки.

Генератор CPack IFW создаёт папку «repository» в текущей двоичной папке. Вы должны скопировать содержимое этой папки в указанную site (url).

См. также

Руководство Qt Installer Framework:

Главная страница
http://doc.qt.io/qtinstallerframework/index.html
Написание скриптов для компонентов
http://doc.qt.io/qtinstallerframework/scripting.html
Предопределённые переменные
http://doc.qt.io/qtinstallerframework/scripting.html#predefined-variables
Продвижение обновлений
http://doc.qt.io/qtinstallerframework/ifw-updates.html
Скачать Qt Installer Framework для вашей платформы с сайта Qt:
http://download.qt.io/official_releases/qt-installer-framework

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.6/module/CPackIFW.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API