Merge branch 'task_712' into task_731

This commit is contained in:
Andrei Yankovich 2022-10-30 20:04:14 +03:00
commit 5e37e9a2ad
3 changed files with 35 additions and 41 deletions

View File

@ -1265,19 +1265,9 @@ bool ConfigParser::setQmake(const QString &value) {
_config.qtDir.setTranslations(getPathFrmoQmakeLine(value));
} else if (value.contains("QT_INSTALL_DATA")) {
_config.qtDir.setResources(getPathFrmoQmakeLine(value) + "/resources");
} else if (value.contains("QMAKE_XSPEC")) {
auto val = value.split(':').value(1);
if (val.contains("win32")) {
_config.qtDir.setQtPlatform(Platform::Win);
} else {
_config.qtDir.setQtPlatform(Platform::Unix);
}
}
}
_config.qtDir.setQtVersion(_config.isNeededQt());
_config.envirement.addEnv(_config.qtDir.getLibs());
_config.envirement.addEnv(_config.qtDir.getBins());
@ -1312,16 +1302,15 @@ bool ConfigParser::setQtDir(const QString &value) {
_config.qtDir.setPlugins(info.absoluteFilePath() + ("/plugins"));
}
#ifdef Q_OS_UNIX
if (!QFile::exists(info.absoluteFilePath() + ("/libexec"))) {
QuasarAppUtils::Params::log("get qt libexec failed!", QuasarAppUtils::Debug);
} else {
_config.qtDir.setLibexecs(info.absoluteFilePath() + ("/libexec"));
if (_config.qtDir.getQtPlatform() & Unix) {
if (!QFile::exists(info.absoluteFilePath() + ("/libexec"))) {
QuasarAppUtils::Params::log("get qt libexec failed!", QuasarAppUtils::Debug);
} else {
_config.qtDir.setLibexecs(info.absoluteFilePath() + ("/libexec"));
}
} else if (_config.qtDir.getQtPlatform() & Win) {
_config.qtDir.setLibexecs(info.absoluteFilePath() + ("/bin"));
}
#endif
#ifdef Q_OS_WIN
_config.qtDir.setLibexecs(info.absoluteFilePath() + ("/bin"));
#endif
if (!QFile::exists(info.absoluteFilePath() + ("/translations"))) {
QuasarAppUtils::Params::log("get qt translations failed!", QuasarAppUtils::Debug);
@ -1335,15 +1324,6 @@ bool ConfigParser::setQtDir(const QString &value) {
_config.qtDir.setResources(info.absoluteFilePath() + ("/resources"));
}
#ifdef Q_OS_UNIX
_config.qtDir.setQtPlatform(Platform::Unix);
#endif
#ifdef Q_OS_WIN
_config.qtDir.setQtPlatform(Platform::Win);
#endif
_config.qtDir.setQtVersion(_config.isNeededQt());
_config.envirement.addEnv(_config.qtDir.getLibs());
_config.envirement.addEnv(_config.qtDir.getBins());

View File

@ -12,16 +12,24 @@ QtMajorVersion QtDir::getQtVersion() const {
return _qtVersion;
}
void QtDir::setQtVersion(const QtMajorVersion &qtVersion) {
_qtVersion = qtVersion;
}
QString QtDir::getLibs() const {
return libs;
}
void QtDir::setLibs(const QString &value) {
libs = PathUtils::fixPath(value);
auto qtLibs = QDir(libs).entryList(QDir::Files);
if (qtLibs.contains("libQt4Core.so")) {
_qtVersion = QtMajorVersion::Qt4;
_platform = Unix;
} else if (qtLibs.contains("libQt5Core.so")) {
_qtVersion = QtMajorVersion::Qt5;
_platform = Unix;
} else if (qtLibs.contains("libQt6Core.so")) {
_qtVersion = QtMajorVersion::Qt6;
_platform = Unix;
}
}
QString QtDir::getBins() const {
@ -30,6 +38,18 @@ QString QtDir::getBins() const {
void QtDir::setBins(const QString &value) {
bins = PathUtils::fixPath(value);
auto qtLibs = QDir(bins).entryList(QDir::Files);
if (qtLibs.contains("Qt4Core.dll", Qt::CaseInsensitive)) {
_qtVersion = QtMajorVersion::Qt4;
_platform = Win;
} else if (qtLibs.contains("Qt5Core.dll", Qt::CaseInsensitive)) {
_qtVersion = QtMajorVersion::Qt5;
_platform = Win;
} else if (qtLibs.contains("Qt6Core.dll", Qt::CaseInsensitive)) {
_qtVersion = QtMajorVersion::Qt6;
_platform = Win;
}
}
QString QtDir::getLibexecs() const {
@ -74,11 +94,7 @@ void QtDir::setResources(const QString &value) {
}
Platform QtDir::getQtPlatform() const {
return qtPlatform;
}
void QtDir::setQtPlatform(const Platform &value) {
qtPlatform = value;
return _platform;
}
bool QtDir::isQt(QString path) const {

View File

@ -21,9 +21,9 @@ class DEPLOYSHARED_EXPORT QtDir {
QString translations;
QString resources;
Platform qtPlatform = UnknownPlatform;
Platform _platform = UnknownPlatform;
QtMajorVersion _qtVersion;
QtMajorVersion _qtVersion = NoQt;
public:
QString getLibs() const;
void setLibs(const QString &value);
@ -40,7 +40,6 @@ public:
QString getResources() const;
void setResources(const QString &value);
Platform getQtPlatform() const;
void setQtPlatform(const Platform &value);
/**
* @brief isQt - This method check a path for belonging to QtDirs.
@ -54,7 +53,6 @@ public:
* @return the masjor version of qt
*/
QtMajorVersion getQtVersion() const;
void setQtVersion(const QtMajorVersion &qtVersion);
};
#endif // QTDIR_H