CQtDeployer 1.6.2351.ec4840f
CQtDeployer helps you to extract all libraries your executable depends on and to create a launch script for your application.
Файл развертывания

Файл развертывания - это json файл, содержащий в себе параметры для cqtdeployer. Данный файл поддерживает все параметры кроме confFile, так как данный параметр отвечает за подключение и инициализацию самого файла.

Структура файла конфигурации

{
"Флаг": true/false,
"Параметр": "Значение",
"Параметер с поддержкой перечислений": [
"Значение 1",
"Значение 2",
"Значение 3",
],
"Параметр с поддержкой многоуровневых перечислений": [
[
"Значение A1",
"Значение A2"
],
[
"Значение B1",
"Значение B2"
],
[
"Значение C1",
"Значение C2"
],
]
}

Подробно о параметрах cqtdeployer читайте в разделе Параметры.

Примеры содержимого данного файла:

Файл без использования параметров с перечислениями

{
"noOverwrite": false,
"bin": "./",
"binDir": "./",
"qmlDir": "./",
"deploySystem": false,
"deploySystem-with-libc": false,
"qmake": "my/custom/path/to/qmake",
"ignore": "ignoreLib.dll",
"ignoreEnv": "/my/ignore/path",
"clear": true,
"force-clear": false,
"allQmlDependes": false,
"libDir": "./",
"recursiveDepth": 3,
"extraLibs": "myExtraLib (libssl)",
"extraPlugin": "myExtraPulgin (platforms)",
"targetDir": "./Distro",
"targetPackage": "",
"noStrip": false,
"extractPlugins": false,
"noTranslations": false,
"qmlOut": "qml",
"libOut": "lib",
"trOut": "tr",
"pluginOut": "plug",
"binOut": "bin",
"recOut": "rec",
"verbose": 3,
"qif": false,
"noCheckRPATH": false,
"noCheckPATH": false,
"name": "mainApplication",
"description": "this is description for default package",
"deployVersion": "1.0.0",
"releaseDate": "yyyy-MM-dd",
"icon": "/path/main/icon.png",
"publisher": "main team",
"customScript": "echo 'I am use custom script!!!'"
}

Файл с использованием параметров с перечислениями

json
{
"noOverwrite": false,
"bin": "./",
"binDir": "./",
"qmlDir": [
[
"package2",
"./TestQMLWidgets/"
],
[
"./qml/for/All"
]
],
"deploySystem": false,
"deploySystem-with-libc": false,
"qmake": "this parameter should contain the path to your qmake, for Windows this field is required. On Linux, you can remove it, then qmake will be found by rpath.",
"ignore": "ignoreLib.dll",
"ignoreEnv": "/my/ignore/path",
"clear": true,
"force-clear": false,
"allQmlDependes": false,
"libDir": "./",
"recursiveDepth": 3,
"extraLibs": "myExtraLib (libssl)",
"extraPlugin": "myExtraPulgin (platforms)",
"targetDir": "./Distro",
"targetPackage": [
[
"/package1/",
"TestOnlyC"
],
[
"/package2/",
"TestQMLWidgets"
]
],
"noStrip": false,
"extractPlugins": false,
"noTranslations": false,
"qmlOut": "qml",
"libOut": "lib",
"trOut": "tr",
"pluginOut": "plug",
"binOut": "bin",
"recOut": "rec",
"verbose": 3,
"qif": false,
"noCheckRPATH": false,
"noCheckPATH": false,
"name": [
[
"package2",
"package2Application"
],
[
"mainApplication"
]
],
"description": [
[
"package2",
"this is description for package 'package2'"
],
[
"this is description for default package"
]
],
"deployVersion": [
[
"package2",
"1.0.0"
],
[
"1.0.0"
]
],
"releaseDate": [
[
"package2",
"yyyy-MM-dd"
],
[
"yyyy-MM-dd"
]
],
"icon": [
[
"package2",
"/path/icon.png"
],
[
"/path/main/icon.png"
]
],
"publisher": [
[
"package2",
"team of package2"
],
[
"main team"
]
],
"customScript": "echo 'I am use custom script!!!'"
}

Цель файла- упростить вызов cqtdeployer и переместить часть или все параметры в файл. Все параметры, указанные в файле, имеют более низкий приоритет, чем параметры, добавленные в консоль при запуске.

Создание файла

Способ 1

  1. Вызовите cqtdeployer init Для инициализации файла для приложения состоящего из одного пакета. Или cqtdeployer -init multi Для инициализации файла для проекта с несколькими пакетами.
  2. Откройте CQtDeployer.json и отредактируйте его под свои нужды.
  3. Вызовите cqtdeployer в дериктории с файлом CQtDeployer.json, или укажите путь к нему используя флаг -confFile path/to/my/CQtDeployer.json

Способ 2

Вызовите cqtdeployer с нужным вам набором параметров и укажите путь к файлу при помощи флага -confFile (файл должен отсутствовать). Если файл будет существовать, то cqtdeployer начнет выгружать из него параметры.

Пример:

bash
cqtdeployer -confFile deploy.json -bin CQtDeployerInstaller -targetDir ./test -qmlOut myqml -binOut mybin -libOut mylib -pluginOut myplugins noStrip noTranslations -recursiveDepth 5 -extraPlugin sqldrivers,audio,mediaservice force-clear deploySystem noOverwrite

Где:

  • cqtdeployer - вызов cqtdeployer
  • -confFile deploy.json - путь к файлу, который нужно создать
  • "-bin CQtDeployerInstaller -targetDir ./test -qmlOut myqml -binOut mybin -libOut mylib -pluginOut myplugins noStrip noTranslations -recursiveDepth 5 -extraPlugin sqldrivers,audio,mediaservice force-clear deploySystem noOverwrite" - необходимые параметры.

Использование файла развертывания.

Чтобы cqtdeployer начал читать параметры из файла, используйте флаг -confFile [путь к файлу]

Пример:

cqtdeployer -qmake ~/Qt/bin/qmake -confFile ./deploy.json