diff --git a/CQtDeployer.pro b/CQtDeployer.pro index 83c4bd6..bd6135e 100644 --- a/CQtDeployer.pro +++ b/CQtDeployer.pro @@ -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 \ diff --git a/Deploy/Deploy.pro b/Deploy/Deploy.pro index 2d6a472..26a0ce1 100644 --- a/Deploy/Deploy.pro +++ b/Deploy/Deploy.pro @@ -19,7 +19,7 @@ TEMPLATE = lib DEFINES += DEPLOY_LIBRARY -VERSION = 1.5.0.23 +VERSION = 1.5.0.24 DEFINES += APP_VERSION='\\"$$VERSION\\"' diff --git a/Deploy/configparser.cpp b/Deploy/configparser.cpp index 17aa839..92735ae 100644 --- a/Deploy/configparser.cpp +++ b/Deploy/configparser.cpp @@ -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; } diff --git a/Deploy/defines.h b/Deploy/defines.h index 595aa07..5f31045 100644 --- a/Deploy/defines.h +++ b/Deploy/defines.h @@ -9,7 +9,7 @@ #define DEFINES_H #include -#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 diff --git a/Deploy/deployconfig.cpp b/Deploy/deployconfig.cpp index 6a1beac..fc1a9dc 100644 --- a/Deploy/deployconfig.cpp +++ b/Deploy/deployconfig.cpp @@ -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; diff --git a/Deploy/deployconfig.h b/Deploy/deployconfig.h index 5f583ef..9138989 100644 --- a/Deploy/deployconfig.h +++ b/Deploy/deployconfig.h @@ -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 diff --git a/Deploy/deploycore.cpp b/Deploy/deploycore.cpp index bb4b49e..dca0208 100644 --- a/Deploy/deploycore.cpp +++ b/Deploy/deploycore.cpp @@ -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(i); } diff --git a/Deploy/deploycore.h b/Deploy/deploycore.h index 1ebbc23..9ae86af 100644 --- a/Deploy/deploycore.h +++ b/Deploy/deploycore.h @@ -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(); }; diff --git a/Deploy/distromodule.cpp b/Deploy/distromodule.cpp index 88f16d1..5839fc0 100644 --- a/Deploy/distromodule.cpp +++ b/Deploy/distromodule.cpp @@ -156,6 +156,18 @@ void DistroModule::setKey(const QString &key) { _key = key; } +QSet DistroModule::tr() const { + return _tr; +} + +void DistroModule::setTr(const QSet &tr) { + _tr = tr; +} + +void DistroModule::addTr(const QString &tr) { + _tr += tr; +} + QSet DistroModule::extraData() const { return _extraData; } diff --git a/Deploy/distromodule.h b/Deploy/distromodule.h index 14ab916..fdd8561 100644 --- a/Deploy/distromodule.h +++ b/Deploy/distromodule.h @@ -73,6 +73,10 @@ public: void setExtraData(const QSet &extraFiles); void addExtraData(const QString &extraFile); + QSet tr() const; + void setTr(const QSet &tr); + void addTr(const QString &tr); + protected: void setKey(const QString &key); @@ -94,8 +98,14 @@ private: QSet _enabled; QSet _disabled; QSet _extraPlugins; + + // extra data QSet _extraData; + // extra translations + QSet _tr; + + }; #endif // DISTROMODULE_H diff --git a/Deploy/extra.cpp b/Deploy/extra.cpp index d375b1e..1871c64 100644 --- a/Deploy/extra.cpp +++ b/Deploy/extra.cpp @@ -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; } diff --git a/Deploy/extracter.cpp b/Deploy/extracter.cpp index 7d33e4e..12ff796 100644 --- a/Deploy/extracter.cpp +++ b/Deploy/extracter.cpp @@ -200,13 +200,18 @@ void Extracter::extractPlugins() { } -void Extracter::copyLibs(const QSet &files, const QString& package) { +void Extracter::copyLibs(const QSet &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); diff --git a/Deploy/extracter.h b/Deploy/extracter.h index 97717d8..5673d9f 100644 --- a/Deploy/extracter.h +++ b/Deploy/extracter.h @@ -72,8 +72,15 @@ private: void extractPlugins(); void copyFiles(); - void copyTr(); - void copyLibs(const QSet &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 &files, const QString &package, bool system); void copyExtraData(const QSet &files, const QString &package); bool isWebEngine(const QString& package) const; diff --git a/Deploy/filemanager.cpp b/Deploy/filemanager.cpp index 0cb25e4..f963718 100644 --- a/Deploy/filemanager.cpp +++ b/Deploy/filemanager.cpp @@ -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; diff --git a/Deploy/metafilemanager.cpp b/Deploy/metafilemanager.cpp index d5b462e..73a1778 100644 --- a/Deploy/metafilemanager.cpp +++ b/Deploy/metafilemanager.cpp @@ -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" diff --git a/Deploy/packing.cpp b/Deploy/packing.cpp index 2becf32..08fa855 100644 --- a/Deploy/packing.cpp +++ b/Deploy/packing.cpp @@ -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); diff --git a/Deploy/pe_type.cpp b/Deploy/pe_type.cpp index 9e37eeb..fc52355 100644 --- a/Deploy/pe_type.cpp +++ b/Deploy/pe_type.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include diff --git a/QIFData/config/configLinux.xml b/QIFData/config/configLinux.xml index de5fd26..c171144 100644 --- a/QIFData/config/configLinux.xml +++ b/QIFData/config/configLinux.xml @@ -3,7 +3,7 @@ 640px 400px CQtDeployer - 1.5.0.23 + 1.5.0.24 CQtDeployer QuasarApp CQtDeployer diff --git a/QIFData/config/configWin.xml b/QIFData/config/configWin.xml index b7056d7..935c9e7 100644 --- a/QIFData/config/configWin.xml +++ b/QIFData/config/configWin.xml @@ -3,7 +3,7 @@ 640px 400px CQtDeployer - 1.5.0.23 + 1.5.0.24 CQtDeployer QuasarApp CQtDeployer diff --git a/QIFData/packages/cqtdeployer.1_5/meta/package.xml b/QIFData/packages/cqtdeployer.1_5/meta/package.xml index ac3ce20..1b303c3 100644 --- a/QIFData/packages/cqtdeployer.1_5/meta/package.xml +++ b/QIFData/packages/cqtdeployer.1_5/meta/package.xml @@ -2,7 +2,7 @@ CQtDeployer 1.5 Alpha 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. - 1.5.0.23 + 1.5.0.24 true false diff --git a/UnitTests/res.qrc b/UnitTests/res.qrc index c2fba52..f348765 100644 --- a/UnitTests/res.qrc +++ b/UnitTests/res.qrc @@ -18,5 +18,6 @@ testRes/TestQMLWidgets.sh testRes/testMultiPackageConfig.json testRes/customRunScript.sh + testRes/TestTr.qm diff --git a/UnitTests/testRes/TestQMLWidgets.sh b/UnitTests/testRes/TestQMLWidgets.sh index bcb2640..38e46b3 100755 --- a/UnitTests/testRes/TestQMLWidgets.sh +++ b/UnitTests/testRes/TestQMLWidgets.sh @@ -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 diff --git a/UnitTests/testRes/TestTr.qm b/UnitTests/testRes/TestTr.qm new file mode 100755 index 0000000..5027904 --- /dev/null +++ b/UnitTests/testRes/TestTr.qm @@ -0,0 +1 @@ +TEST TR diff --git a/UnitTests/tst_deploytest.cpp b/UnitTests/tst_deploytest.cpp index a00b4cf..aa40074 100644 --- a/UnitTests/tst_deploytest.cpp +++ b/UnitTests/tst_deploytest.cpp @@ -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 diff --git a/docs/en/Options.md b/docs/en/Options.md index 552bf91..c63858a 100644 --- a/docs/en/Options.md +++ b/docs/en/Options.md @@ -87,7 +87,7 @@ cqtdeployer -option1 value1 -option2 list, of, values ​​flag1 flag2 flag3 | Option | Descriptiion | |-----------------------------|-----------------------------------------------------------| -| -targetPackage [package;tar1,package;tar2]| Creates a new package and adds 'tar1 and tar2' to it | +| -targetPackage [package;tar1,package;tar2]| Creates a new package and adds 'tar1 and tar2' to it | | -qmlOut [package;path,path] | Sets path to qml out directory | | -libOut [package;path,path] | Sets path to libraries out directory | | -trOut [package;path,path] | Sets path to translations out directory | @@ -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 diff --git a/docs/ru/Options.md b/docs/ru/Options.md index f115e9c..9535873 100644 --- a/docs/ru/Options.md +++ b/docs/ru/Options.md @@ -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 файлы в папку переводов. | ### Параметры управления плагинами: diff --git a/pe b/pe index 1195247..f681c21 160000 --- a/pe +++ b/pe @@ -1 +1 @@ -Subproject commit 119524770cd85333a3c3daa4f9e58b2ee4067d9e +Subproject commit f681c21b7b2c6232b3252a4025a4b94c8d960d65 diff --git a/snap/gui/cqtdeployer.desktop b/snap/gui/cqtdeployer.desktop index b468494..874e6b4 100755 --- a/snap/gui/cqtdeployer.desktop +++ b/snap/gui/cqtdeployer.desktop @@ -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 diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 984855c..2dfd109 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -6,7 +6,7 @@ # name: cqtdeployer # you probably want to 'snapcraft register ' -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. diff --git a/test.pri b/test.pri index 46bd05b..f7b7895 100644 --- a/test.pri +++ b/test.pri @@ -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 =