Merge pull request #530 from QuasarApp/v1.5

V1.5.0.24
This commit is contained in:
Andrei Yankovich 2021-02-12 20:18:48 +03:00 committed by GitHub
commit 48882da6f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 190 additions and 74 deletions

View File

@ -8,10 +8,11 @@
TEMPLATE = subdirs
CONFIG += ordered
lessThan(QT_MAJOR_VERSION, 6):lessThan(QT_MINOR_VERSION, 14) {
message(Tests is disabled!)
lessThan(QT_MAJOR_VERSION, 6):lessThan(QT_MINOR_VERSION, 12) {
warning("Tests are only enabled on Qt 5.12.0 or later version. You are using $$[QT_VERSION].")
DEFINES += WITHOUT_TESTS
}
android: DEFINES += WITHOUT_TESTS
!android {
SUBDIRS += QuasarAppLib \

View File

@ -19,7 +19,7 @@ TEMPLATE = lib
DEFINES += DEPLOY_LIBRARY
VERSION = 1.5.0.23
VERSION = 1.5.0.24
DEFINES += APP_VERSION='\\"$$VERSION\\"'

View File

@ -319,8 +319,8 @@ bool ConfigParser::loadFromFile(const QString& confFile) {
}
auto obj = doc.object();
for (const auto &key: obj.keys()) {
const auto keys = obj.keys();
for (const auto &key: keys) {
readKey(key, obj, confFilePath);
}
@ -387,6 +387,8 @@ bool ConfigParser::initDistroStruct() {
auto extraData = QuasarAppUtils::Params::getStrArg("extraData").
split(DeployCore::getSeparator(0), splitbehavior);
auto trData = QuasarAppUtils::Params::getStrArg("tr").
split(DeployCore::getSeparator(0), splitbehavior);
// init distro stucts for all targets
if (binOut.size() && !parsePackagesPrivate(mainDistro, binOut, &DistroModule::setBinOutDir)) {
@ -469,6 +471,11 @@ bool ConfigParser::initDistroStruct() {
return false;
}
if (trData.size() && !parsePackagesPrivate(mainDistro, trData, &DistroModule::addTr)) {
packagesErrorLog("tr");
return false;
}
return true;
}

View File

@ -9,7 +9,7 @@
#define DEFINES_H
#include <QtGlobal>
#if QT_VERSION > QT_VERSION_CHECK(5, 13, 0)
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
#define splitbehavior Qt::SkipEmptyParts
#else
#define splitbehavior QString::SkipEmptyParts

View File

@ -31,6 +31,18 @@ QString DeployConfig::getTargetDir(const QString &target) const {
return targetDir;
}
QString DeployConfig::getPackageTargetDir(const QString &package) const {
if (!_packages.contains(package)) {
#ifdef QT_DEBUG
abort();
#endif
return "";
}
return targetDir + "/" + package;
}
void DeployConfig::setTargetDir(const QString &target) {
targetDir = target;

View File

@ -72,6 +72,13 @@ public:
*/
QString getTargetDir(const QString& target = "") const;
/**
* @brief getPackageTargetDir This method return the target dif of the package.
* @param package This is id of the package
* @return target diractory path
*/
QString getPackageTargetDir(const QString& package) const;
/**
* @brief setTargetDir
* @param target

View File

@ -244,7 +244,6 @@ void DeployCore::help() {
{"-runScript [list,parems]", "forces cqtdeployer swap default run script to new from the arguments of option."
" This option copy all content from input file and insert all code into runScript.sh or .bat"
" Example of use: cqtdeployer -runScript \"myTargetMame;path/to/my/myCustomLaunchScript.sh,myTargetSecondMame;path/to/my/mySecondCustomLaunchScript.sh\""},
{"-verbose [0-3]", "Shows debug log"},
}
@ -270,6 +269,8 @@ void DeployCore::help() {
{"-homePage [package;val,val]", "Sets the home page url for a package"},
{"-prefix [package;val,val]", "Sets the prefix for the package relatively a target directory "},
{"-extraData [package;val,val]", "Adds the extra files or directories like a target. The selected directory will be copy to the extraDataOut location with save own structure."},
{"-tr [package;val,val]", "Adds qm files into the translations folder."},
}
},
@ -364,7 +365,8 @@ QStringList DeployCore::helpKeys() {
"deb",
"allowEmptyPackages",
"runScript",
"getDefaultTemplate"
"getDefaultTemplate",
"tr"
};
}
@ -718,6 +720,10 @@ bool DeployCore::checkSystemBakupSnapInterface() {
return QDir(DeployCore::snapRootFS()).entryList(QDir::AllEntries | QDir::NoDotAndDotDot).size();
}
QString DeployCore::systemLibsFolderName() {
return "systemLibs";
}
uint qHash(WinAPI i) {
return static_cast<uint>(i);
}

View File

@ -252,6 +252,13 @@ public:
static QString snapRootFS();
static QString transportPathToSnapRoot(const QString &path);
static bool checkSystemBakupSnapInterface();
/**
* @brief systemLibsFolderName This method return name of the systems librares.
* @return Name of folder with system libraryes.
* @note see https://github.com/QuasarApp/CQtDeployer/issues/396
*/
static QString systemLibsFolderName();
};

View File

@ -156,6 +156,18 @@ void DistroModule::setKey(const QString &key) {
_key = key;
}
QSet<QString> DistroModule::tr() const {
return _tr;
}
void DistroModule::setTr(const QSet<QString> &tr) {
_tr = tr;
}
void DistroModule::addTr(const QString &tr) {
_tr += tr;
}
QSet<QString> DistroModule::extraData() const {
return _extraData;
}

View File

@ -73,6 +73,10 @@ public:
void setExtraData(const QSet<QString> &extraFiles);
void addExtraData(const QString &extraFile);
QSet<QString> tr() const;
void setTr(const QSet<QString> &tr);
void addTr(const QString &tr);
protected:
void setKey(const QString &key);
@ -94,8 +98,14 @@ private:
QSet<QString> _enabled;
QSet<QString> _disabled;
QSet<QString> _extraPlugins;
// extra data
QSet<QString> _extraData;
// extra translations
QSet<QString> _tr;
};
#endif // DISTROMODULE_H

View File

@ -63,13 +63,13 @@ bool Extra::contains(const QString &path) const {
return true;
}
for (auto i: extraPathsMasks) {
for (const auto &i: extraPathsMasks) {
if (PathUtils::fixPath(info.absoluteFilePath()).contains(i)) {
return true;
}
}
for (auto i: extraNamesMasks) {
for (const auto &i: extraNamesMasks) {
if (PathUtils::fixPath(info.fileName()).contains(i)) {
return true;
}

View File

@ -200,13 +200,18 @@ void Extracter::extractPlugins() {
}
void Extracter::copyLibs(const QSet<QString> &files, const QString& package) {
void Extracter::copyLibs(const QSet<QString> &files, const QString& package, bool system) {
auto cnf = DeployCore::_config;
auto targetPath = cnf->getTargetDir() + "/" + package;
auto distro = cnf->getDistroFromPackage(package);
auto libOutpath = targetPath + distro.getLibOutDir();
if (system) {
libOutpath += "/" + DeployCore::systemLibsFolderName();
}
for (const auto &file : files) {
if (!_fileManager->smartCopyFile(file, targetPath + distro.getLibOutDir())) {
if (!_fileManager->smartCopyFile(file, libOutpath)) {
QuasarAppUtils::Params::log(file + " not copied");
}
}
@ -230,10 +235,10 @@ void Extracter::copyFiles() {
for (auto i = cnf->packages().cbegin(); i != cnf->packages().cend(); ++i) {
copyLibs(_packageDependencyes[i.key()].neadedLibs(), i.key());
copyLibs(_packageDependencyes[i.key()].neadedLibs(), i.key(), false);
if (QuasarAppUtils::Params::isEndable("deploySystem")) {
copyLibs(_packageDependencyes[i.key()].systemLibs(), i.key());
copyLibs(_packageDependencyes[i.key()].systemLibs(), i.key(), true);
}
@ -245,21 +250,28 @@ void Extracter::copyFiles() {
}
}
void Extracter::copyTr() {
bool Extracter::copyTr() {
if (!QuasarAppUtils::Params::isEndable("noTranslations")) {
auto cnf = DeployCore::_config;
for (auto i = cnf->packages().cbegin(); i != cnf->packages().cend(); ++i) {
if (!copyTranslations(DeployCore::extractTranslation(_packageDependencyes[i.key()].neadedLibs()),
i.key())) {
QuasarAppUtils::Params::log("Failed to copy standard Qt translations",
QuasarAppUtils::Warning);
}
const auto trFiles = i->tr();
for (const auto &tr: trFiles) {
if (!_fileManager->copyFile(tr, cnf->getPackageTargetDir(i.key()) + i->getTrOutDir())) {
return false;
}
}
}
}
}
return true;
}
bool Extracter::deploy() {
@ -282,7 +294,11 @@ bool Extracter::deploy() {
copyFiles();
copyTr();
if (!copyTr()) {
QuasarAppUtils::Params::log("Fail to copy translations", QuasarAppUtils::Error);
return false;
};
if (!extractWebEngine()) {
QuasarAppUtils::Params::log("deploy webEngine failed", QuasarAppUtils::Error);

View File

@ -72,8 +72,15 @@ private:
void extractPlugins();
void copyFiles();
void copyTr();
void copyLibs(const QSet<QString> &files, const QString &package);
bool copyTr();
/**
* @brief copyLibs This method copy input libraryes into libOut dir.
* @param files This is set of input libs
* @param package This is package id of deployement pacakge.
* @param system This option set for systems libraryes. If This option will be set to true then libOut dir will be changed to libOut/systemLibs. see https://github.com/QuasarApp/CQtDeployer/issues/396.
*/
void copyLibs(const QSet<QString> &files, const QString &package, bool system);
void copyExtraData(const QSet<QString> &files, const QString &package);
bool isWebEngine(const QString& package) const;

View File

@ -447,11 +447,7 @@ QString FileManager::changeDistanation(const QString& absalutePath,
QString basePath,
int depch) {
#if QT_VERSION > QT_VERSION_CHECK(5, 13, 0)
auto prefixes = absalutePath.split(QRegExp("[\\/]"), Qt::SkipEmptyParts);
#else
auto prefixes = absalutePath.split(QRegExp("[\\/]"), QString::SkipEmptyParts);
#endif
auto prefixes = absalutePath.split(QRegExp("[\\/]"), splitbehavior);
depch = std::min(depch, prefixes.size());
while (depch) {
auto index = prefixes.size() - depch;

View File

@ -37,10 +37,12 @@ bool MetaFileManager::createRunScriptWindows(const QString &target) {
script.close();
} else {
auto systemLibsDir = distro.getLibOutDir() + DeployCore::systemLibsFolderName();
content =
"@echo off \n"
"SET BASE_DIR=%~dp0\n"
"SET PATH=%BASE_DIR%" + distro.getLibOutDir() + ";%PATH%\n"
"SET PATH=%BASE_DIR%" + distro.getLibOutDir() + ";%PATH%;" + systemLibsDir + "\n"
"SET CQT_PKG_ROOT=%BASE_DIR%\n"
"SET CQT_RUN_FILE=%BASE_DIR%%5\n"
@ -96,11 +98,15 @@ bool MetaFileManager::createRunScriptLinux(const QString &target) {
script.close();
} else {
auto systemLibsDir = distro.getLibOutDir() + DeployCore::systemLibsFolderName();
content =
"#!/bin/sh\n"
"BASE_DIR=$(dirname \"$(readlink -f \"$0\")\")\n"
"export "
"LD_LIBRARY_PATH=\"$BASE_DIR\"" + distro.getLibOutDir() + ":\"$BASE_DIR\":$LD_LIBRARY_PATH\n"
"LD_LIBRARY_PATH=\"$BASE_DIR\"" + distro.getLibOutDir() +
":\"$BASE_DIR\":$LD_LIBRARY_PATH:\"$BASE_DIR\"" + systemLibsDir + "\n"
"export QML_IMPORT_PATH=\"$BASE_DIR\"" + distro.getQmlOutDir() + ":$QML_IMPORT_PATH\n"
"export QML2_IMPORT_PATH=\"$BASE_DIR\"" + distro.getQmlOutDir() + ":$QML2_IMPORT_PATH\n"
"export QT_PLUGIN_PATH=\"$BASE_DIR\"" + distro.getPluginsOutDir() + ":$QT_PLUGIN_PATH\n"

View File

@ -94,7 +94,6 @@ bool Packing::create() {
return false;
}
auto exit = QString("exit code = %0").arg(_proc->exitCode());
QString stdoutLog = _proc->readAllStandardOutput();
QString erroutLog = _proc->readAllStandardError();
auto message = QString("message = %0").arg(stdoutLog + " " + erroutLog);

View File

@ -11,7 +11,7 @@
#include <QFileInfo>
#include <QSet>
#include <QVector>
#include <parser-library/parse.h>
#include <pe-parse/parse.h>
#include <quasarapp.h>
#include <set>

View File

@ -3,7 +3,7 @@
<WizardDefaultWidth>640px</WizardDefaultWidth>
<WizardDefaultHeight>400px</WizardDefaultHeight>
<Name>CQtDeployer</Name>
<Version>1.5.0.23</Version>
<Version>1.5.0.24</Version>
<Title>CQtDeployer</Title>
<Publisher>QuasarApp</Publisher>
<StartMenuDir>CQtDeployer</StartMenuDir>

View File

@ -3,7 +3,7 @@
<WizardDefaultWidth>640px</WizardDefaultWidth>
<WizardDefaultHeight>400px</WizardDefaultHeight>
<Name>CQtDeployer</Name>
<Version>1.5.0.23</Version>
<Version>1.5.0.24</Version>
<Title>CQtDeployer</Title>
<Publisher>QuasarApp</Publisher>
<StartMenuDir>CQtDeployer</StartMenuDir>

View File

@ -2,7 +2,7 @@
<Package>
<DisplayName>CQtDeployer 1.5 Alpha</DisplayName>
<Description>CQtDeployer 1.5 Alpha. Do not use this version because it is unstable and may lead to unwanted bugs or consequences. Use this version exclusively for testing new functionality.</Description>
<Version>1.5.0.23</Version>
<Version>1.5.0.24</Version>
<Default>true</Default>
<ForcedInstallation>false</ForcedInstallation>
<Script>installscript.js</Script>

View File

@ -18,5 +18,6 @@
<file>testRes/TestQMLWidgets.sh</file>
<file>testRes/testMultiPackageConfig.json</file>
<file>testRes/customRunScript.sh</file>
<file>testRes/TestTr.qm</file>
</qresource>
</RCC>

View File

@ -1,6 +1,6 @@
#!/bin/sh
BASE_DIR=$(dirname "$(readlink -f "$0")")
export LD_LIBRARY_PATH="$BASE_DIR"/lib/:"$BASE_DIR":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$BASE_DIR"/lib/:"$BASE_DIR":$LD_LIBRARY_PATH:"$BASE_DIR"/lib/systemLibs
export QML_IMPORT_PATH="$BASE_DIR"/q/and/q/:$QML_IMPORT_PATH
export QML2_IMPORT_PATH="$BASE_DIR"/q/and/q/:$QML2_IMPORT_PATH
export QT_PLUGIN_PATH="$BASE_DIR"/plugins/:$QT_PLUGIN_PATH

1
UnitTests/testRes/TestTr.qm Executable file
View File

@ -0,0 +1 @@
TEST TR

View File

@ -176,6 +176,7 @@ private slots:
void testRunScripts();
void testGetDefaultTemplate();
void testDeployGeneralFiles();
void testTr();
void customTest();
};
@ -1167,6 +1168,26 @@ void deploytest::testDeployGeneralFiles() {
}, &comapareTree);
}
void deploytest::testTr() {
TestUtils utils;
#ifdef Q_OS_UNIX
QString bin = TestBinDir + "QtWidgetsProject";
QString qmake = TestQtDir + "bin/qmake";
#else
QString bin = TestBinDir + "QtWidgetsProject.exe";
QString qmake = TestQtDir + "bin/qmake.exe";
#endif
auto comapareTree = TestModule.qtLibs();
comapareTree += utils.createTree({"./" + DISTRO_DIR + "/translations/TestTr.qm"});
runTestParams({"-bin", bin, "clear" ,
"-tr", ":/testResurces/testRes/TestTr.qm",
"-qmake", qmake}, &comapareTree);
}
void deploytest::customTest() {
// runTestParams({"-confFile", "path",
// "qifFromSystem"});
@ -2454,8 +2475,8 @@ void deploytest::testSystemLib() {
"./" + DISTRO_DIR + "/TestOnlyC.sh",
"./" + DISTRO_DIR + "/bin/qt.conf",
"./" + DISTRO_DIR + "/bin/TestOnlyC",
"./" + DISTRO_DIR + "/lib/libgcc_s.so",
"./" + DISTRO_DIR + "/lib/libstdc++.so"
"./" + DISTRO_DIR + "/lib/systemLibs/libgcc_s.so",
"./" + DISTRO_DIR + "/lib/systemLibs/libstdc++.so"
});
#else
@ -2464,10 +2485,10 @@ void deploytest::testSystemLib() {
{
"./" + DISTRO_DIR + "/TestOnlyC.exe",
"./" + DISTRO_DIR + "/TestOnlyC.bat",
"./" + DISTRO_DIR + "/libgcc_s_seh-1.dll",
"./" + DISTRO_DIR + "/libstdc++-6.dll",
"./" + DISTRO_DIR + "/libwinpthread-1.dll",
"./" + DISTRO_DIR + "/msvcrt.dll",
"./" + DISTRO_DIR + "/systemLibs/libgcc_s_seh-1.dll",
"./" + DISTRO_DIR + "/systemLibs/libstdc++-6.dll",
"./" + DISTRO_DIR + "/systemLibs/libwinpthread-1.dll",
"./" + DISTRO_DIR + "/systemLibs/msvcrt.dll",
"./" + DISTRO_DIR + "/qt.conf"
});
@ -2493,12 +2514,12 @@ void deploytest::testSystemLib() {
"./" + DISTRO_DIR + "/TestOnlyC.sh",
"./" + DISTRO_DIR + "/bin/qt.conf",
"./" + DISTRO_DIR + "/bin/TestOnlyC",
"./" + DISTRO_DIR + "/lib/libgcc_s.so",
"./" + DISTRO_DIR + "/lib/ld-linux-x86-64.so",
"./" + DISTRO_DIR + "/lib/libc.so",
"./" + DISTRO_DIR + "/lib/libm.so",
"./" + DISTRO_DIR + "/lib/systemLibs/libgcc_s.so",
"./" + DISTRO_DIR + "/lib/systemLibs/ld-linux-x86-64.so",
"./" + DISTRO_DIR + "/lib/systemLibs/libc.so",
"./" + DISTRO_DIR + "/lib/systemLibs/libm.so",
"./" + DISTRO_DIR + "/lib/libstdc++.so"
"./" + DISTRO_DIR + "/lib/systemLibs/libstdc++.so"
});
runTestParams({"-bin", bin, "clear" ,
@ -2514,7 +2535,9 @@ void deploytest::testSystemLib() {
QVERIFY(runScript.contains("export LD_PRELOAD="));
# else
#endif
#ifdef Q_OS_WIN
QString qmake = TestQtDir + "bin/qmake.exe";
bin = TestBinDir + "QtWidgetsProject.exe";
@ -2529,24 +2552,24 @@ void deploytest::testSystemLib() {
comapareTree += utils.createTree(
{
"./" + DISTRO_DIR + "/libgcc_s_seh-1.dll",
"./" + DISTRO_DIR + "/libstdc++-6.dll",
"./" + DISTRO_DIR + "/libwinpthread-1.dll",
"./" + DISTRO_DIR + "/msvcrt.dll",
"./" + DISTRO_DIR + "/systemLibs/libgcc_s_seh-1.dll",
"./" + DISTRO_DIR + "/systemLibs/libstdc++-6.dll",
"./" + DISTRO_DIR + "/systemLibs/libwinpthread-1.dll",
"./" + DISTRO_DIR + "/systemLibs/msvcrt.dll",
"./" + DISTRO_DIR + "/qt.conf",
"./" + DISTRO_DIR + "/mpr.dll",
"./" + DISTRO_DIR + "/profapi.dll",
"./" + DISTRO_DIR + "/rpcrt4.dll",
"./" + DISTRO_DIR + "/shell32.dll",
"./" + DISTRO_DIR + "/userenv.dll",
"./" + DISTRO_DIR + "/uxtheme.dll",
"./" + DISTRO_DIR + "/version.dll",
"./" + DISTRO_DIR + "/ucrtbase.dll",
"./" + DISTRO_DIR + "/oleaut32.dll",
"./" + DISTRO_DIR + "/bcryptprimitives.dll",
"./" + DISTRO_DIR + "/msvcp_win.dll",
"./" + DISTRO_DIR + "/wtsapi32.dll",
"./" + DISTRO_DIR + "/combase.dll",
"./" + DISTRO_DIR + "/systemLibs/mpr.dll",
"./" + DISTRO_DIR + "/systemLibs/profapi.dll",
"./" + DISTRO_DIR + "/systemLibs/rpcrt4.dll",
"./" + DISTRO_DIR + "/systemLibs/shell32.dll",
"./" + DISTRO_DIR + "/systemLibs/userenv.dll",
"./" + DISTRO_DIR + "/systemLibs/uxtheme.dll",
"./" + DISTRO_DIR + "/systemLibs/version.dll",
"./" + DISTRO_DIR + "/systemLibs/ucrtbase.dll",
"./" + DISTRO_DIR + "/systemLibs/oleaut32.dll",
"./" + DISTRO_DIR + "/systemLibs/bcryptprimitives.dll",
"./" + DISTRO_DIR + "/systemLibs/msvcp_win.dll",
"./" + DISTRO_DIR + "/systemLibs/wtsapi32.dll",
"./" + DISTRO_DIR + "/systemLibs/combase.dll",
});
@ -2554,9 +2577,9 @@ void deploytest::testSystemLib() {
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
comapareTree += utils.createTree(
{
"./" + DISTRO_DIR + "/d3d11.dll",
"./" + DISTRO_DIR + "/dxgi.dll",
"./" + DISTRO_DIR + "/win32u.dll",
"./" + DISTRO_DIR + "/systemLibs/d3d11.dll",
"./" + DISTRO_DIR + "/systemLibs/dxgi.dll",
"./" + DISTRO_DIR + "/systemLibs/win32u.dll",
});
#endif

View File

@ -104,6 +104,8 @@ cqtdeployer -option1 value1 -option2 list, of, values flag1 flag2 flag3
| -homePage [package;val,val] | Sets the homepage url for a package |
| -prefix [package;val,val] | Sets the prefix for the package relatively a target directory |
| -extraData [package;val,val]| Adds the extra files or directories like a target. The selected directory will be copy to the extraDataOut location with save own structure.|
| -tr [package;val,val] | Adds qm files into the translations folder. |
### Plugins Controll Options

View File

@ -98,6 +98,7 @@ cqtdeployer -option1 value1 -option2 list,of,values flag1 flag2 flag3
| -homePage [package;val,val] | Установит URL-адрес домашней страницы для пакета |
| -prefix [package;val,val] | Устанавливает префикс для пакета относительно целевого каталога |
| -extraData [package;val,val]| Добавляет дополнительные файлы или каталоги как цель. Выбранный каталог будет скопирован в расположение extraDataOut с сохранением собственной структуры.|
| -tr [package;val,val] | Добавляет qm файлы в папку переводов. |
### Параметры управления плагинами:

2
pe

@ -1 +1 @@
Subproject commit 119524770cd85333a3c3daa4f9e58b2ee4067d9e
Subproject commit f681c21b7b2c6232b3252a4025a4b94c8d960d65

View File

@ -1,5 +1,5 @@
[Desktop Entry]
Version=1.5.0.23
Version=1.5.0.24
Name=CQtDeployer
Comment=CQtDeployer Help.
Exec=cqtdeployer
@ -10,6 +10,6 @@ Categories=Application;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=CQtDeployer
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=1.5.0.23
X-GNOME-Bugzilla-Version=1.5.0.24
StartupNotify=true
Name[ru_RU]=CQtDeployer

View File

@ -6,7 +6,7 @@
#
name: cqtdeployer # you probably want to 'snapcraft register <name>'
version: '1.5.0.23' # just for humans, typically '1.2+git' or '1.3.2'
version: '1.5.0.24' # just for humans, typically '1.2+git' or '1.3.2'
summary: deploy your qt projects # 79 char long summary
description: |
Console app for deploy qt libs.

View File

@ -10,12 +10,14 @@ contains(QMAKE_HOST.os, Linux):{
DEPLOYER=cqtdeployer
win32:DEPLOYER=$$(cqtdeployer)
test.commands =
deployTest.commands = $$DEPLOYER -bin $$exec clear -qmake $$QMAKE_BIN -targetDir $$PWD/deployTests -libDir $$PWD -recursiveDepth 4
!android:test.depends = deployTest
unix:!android:test.commands = $$PWD/deployTests/UnitTests.sh -maxwarnings 100000
win32:test.commands = $$PWD/deployTests/UnitTests.exe -maxwarnings 100000 -o buildLog.log
!contains(DEFINES, WITHOUT_TESTS) {
test.depends = deployTest
unix:test.commands = $$PWD/deployTests/UnitTests.sh -maxwarnings 100000
win32:test.commands = $$PWD/deployTests/UnitTests.exe -maxwarnings 100000 -o buildLog.log
}
contains(QMAKE_HOST.os, Linux):{
win32:test.commands =