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.По умолчанию
ONдля инструментов QtIFW версии меньше 2.0.
-
CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH -
Установите в
OFF, если путь установки не может содержать пробелы.По умолчанию
ONдля инструментов QtIFW версии меньше 2.0.
-
CPACK_IFW_PACKAGE_CONTROL_SCRIPT -
Имя файла пользовательского скрипта управления инсталлятором.
-
CPACK_IFW_REPOSITORIES_ALL -
Список удаленных репозиториев.
Значение по умолчанию этой переменной вычисляется CPack и содержит все репозитории, добавленные с помощью команды
cpack_ifw_add_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]
[NAME <name>]
[VERSION <version>]
[SCRIPT <script>]
[PRIORITY <priority>]
[DEPENDS <com_id> ...]
[LICENSES <display_name> <file_path> ...])
Эта команда должна вызываться после команды cpack_add_component.
COMMON если установлено, то компонент будет упакован и установлен как часть группы, к которой он принадлежит.
VERSION — версия компонента. По умолчанию используется CPACK_PACKAGE_VERSION.
SCRIPT — относительный или абсолютный путь к скрипту операций для этого компонента.
NAME используется для создания доменного идентификатора для этого компонента. По умолчанию используется имя исходного компонента.
PRIORITY — приоритет компонента в дереве.
DEPENDS — список идентификаторов зависимых компонентов в стиле QtIFW.
LICENSES — пара <имя_для_отображения> и <путь_к_файлу> текста лицензии для этого компонента. Вы можете указать более одной лицензии.
-
cpack_ifw_configure_component_group
Устанавливает аргументы, специфичные для генератора CPack IFW.
cpack_ifw_configure_component_group(<grpname>
[VERSION <version>]
[NAME <name>]
[SCRIPT <script>]
[PRIORITY <priority>]
[LICENSES <display_name> <file_path> ...])
Эта команда должна вызываться после команды cpack_add_component_group.
VERSION — версия группы компонентов. По умолчанию используется CPACK_PACKAGE_VERSION.
NAME используется для создания доменного идентификатора для этой группы компонентов. По умолчанию используется имя исходной группы компонентов.
SCRIPT — относительный или абсолютный путь к скрипту операций для этой группы компонентов.
PRIORITY — приоритет группы компонентов в дереве.
LICENSES — пара <имя_для_отображения> и <путь_к_файлу> текста лицензии для этой группы компонентов. Вы можете указать более одной лицензии.
-
cpack_ifw_add_repository
Добавляет удалённый репозиторий, специфичный для QtIFW.
cpack_ifw_add_repository(<reponame> [DISABLED]
URL <url>
[USERNAME <username>]
[PASSWORD <password>]
[DISPLAY_NAME <display_name>])
Эта макрокоманда также добавит репозиторий <имя_репозитория> в переменную CPACK_IFW_REPOSITORIES_ALL.
DISABLED если установлено, то репозиторий будет отключён по умолчанию.
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
- Скачать 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.5/module/CPackIFW.html