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