diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-05-24 11:06:38 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-05-24 10:54:15 +0000 |
commit | 89beb7c66a1026c1161a87dfdefbc0b73928cc4b (patch) | |
tree | b43ddcb890386895f9751fe83d756e26560edc20 | |
parent | 045ee1cd01a334f2f6b1b68da08ad29b6ba64559 (diff) | |
download | qbs-89beb7c66a1026c1161a87dfdefbc0b73928cc4b.tar.gz |
Move msvcVersion out of QtEnvironment
This member is only used in qbs-setup-qt and is possibly invalid when
used from Qt Creator. The removal stops us from trying to use the member
in the qtprofilesetup lib again.
Change-Id: Ib356b0f69fe479321aa7c3148acdb95fb805239a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | src/app/qbs-setup-qt/main.cpp | 6 | ||||
-rw-r--r-- | src/app/qbs-setup-qt/setupqt.cpp | 19 | ||||
-rw-r--r-- | src/app/qbs-setup-qt/setupqt.h | 21 | ||||
-rw-r--r-- | src/lib/qtprofilesetup/qtenvironment.h | 1 |
4 files changed, 29 insertions, 18 deletions
diff --git a/src/app/qbs-setup-qt/main.cpp b/src/app/qbs-setup-qt/main.cpp index d0f78cce6..55ec80582 100644 --- a/src/app/qbs-setup-qt/main.cpp +++ b/src/app/qbs-setup-qt/main.cpp @@ -71,13 +71,13 @@ int main(int argc, char *argv[]) if (clParser.autoDetectionMode()) { // search all Qt's in path and dump their settings - const QList<QtEnvironment> qtEnvironments = SetupQt::fetchEnvironments(); + const std::vector<EnhancedQtEnvironment> qtEnvironments = SetupQt::fetchEnvironments(); if (qtEnvironments.empty()) { std::cout << qPrintable(Tr::tr("No Qt installations detected. " "No profiles created.")) << std::endl; } - for (const QtEnvironment &qtEnvironment : qtEnvironments) { + for (const EnhancedQtEnvironment &qtEnvironment : qtEnvironments) { QString profileName = QLatin1String("qt-") + qtEnvironment.qtVersion; if (SetupQt::checkIfMoreThanOneQtWithTheSameVersion(qtEnvironment.qtVersion, qtEnvironments)) { QStringList prefixPathParts = qtEnvironment.installPrefixPath @@ -96,7 +96,7 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } - QtEnvironment qtEnvironment = SetupQt::fetchEnvironment(clParser.qmakePath()); + EnhancedQtEnvironment qtEnvironment = SetupQt::fetchEnvironment(clParser.qmakePath()); QString profileName = clParser.profileName(); profileName.replace(QLatin1Char('.'), QLatin1Char('-')); SetupQt::saveToQbsSettings(profileName, qtEnvironment, &settings); diff --git a/src/app/qbs-setup-qt/setupqt.cpp b/src/app/qbs-setup-qt/setupqt.cpp index d8bc6ab56..a611a8c07 100644 --- a/src/app/qbs-setup-qt/setupqt.cpp +++ b/src/app/qbs-setup-qt/setupqt.cpp @@ -105,14 +105,14 @@ bool SetupQt::isQMakePathValid(const QString &qmakePath) return qmakeFileInfo.exists() && qmakeFileInfo.isFile() && qmakeFileInfo.isExecutable(); } -QList<QtEnvironment> SetupQt::fetchEnvironments() +std::vector<EnhancedQtEnvironment> SetupQt::fetchEnvironments() { - QList<QtEnvironment> qtEnvironments; + std::vector<EnhancedQtEnvironment> qtEnvironments; const auto qmakePaths = collectQmakePaths(); for (const QString &qmakePath : qmakePaths) { - const QtEnvironment env = fetchEnvironment(qmakePath); - if (none_of(qtEnvironments, [&env](const QtEnvironment &otherEnv) { + const EnhancedQtEnvironment env = fetchEnvironment(qmakePath); + if (none_of(qtEnvironments, [&env](const EnhancedQtEnvironment &otherEnv) { return env.includePath == otherEnv.includePath; })) { qtEnvironments.push_back(env); @@ -189,9 +189,9 @@ static QString pathQueryValue(const QueryMap &queryMap, const QByteArray &key) return QDir::fromNativeSeparators(QString::fromLocal8Bit(queryMap.value(key))); } -QtEnvironment SetupQt::fetchEnvironment(const QString &qmakePath) +EnhancedQtEnvironment SetupQt::fetchEnvironment(const QString &qmakePath) { - QtEnvironment qtEnvironment; + EnhancedQtEnvironment qtEnvironment; QueryMap queryOutput = qmakeQueryOutput(qmakePath); qtEnvironment.installPrefixPath = pathQueryValue(queryOutput, "QT_INSTALL_PREFIX"); @@ -358,7 +358,7 @@ static QStringList qbsToolchainFromQtMkspec(const QString &mkspec) enum Match { MatchFull, MatchPartial, MatchNone }; -static Match compatibility(const QtEnvironment &env, const Profile &toolchainProfile) +static Match compatibility(const EnhancedQtEnvironment &env, const Profile &toolchainProfile) { Match match = MatchFull; @@ -430,7 +430,8 @@ static void compressMsvcProfiles(QStringList &profiles) profiles.erase(it, profiles.end()); } -void SetupQt::saveToQbsSettings(const QString &qtVersionName, const QtEnvironment &qtEnvironment, +void SetupQt::saveToQbsSettings(const QString &qtVersionName, + const EnhancedQtEnvironment &qtEnvironment, Settings *settings) { const QString cleanQtVersionName = Profile::cleanName(qtVersionName); @@ -503,7 +504,7 @@ void SetupQt::saveToQbsSettings(const QString &qtVersionName, const QtEnvironmen } bool SetupQt::checkIfMoreThanOneQtWithTheSameVersion(const QString &qtVersion, - const QList<QtEnvironment> &qtEnvironments) + const std::vector<EnhancedQtEnvironment> &qtEnvironments) { bool foundOneVersion = false; for (const QtEnvironment &qtEnvironment : qtEnvironments) { diff --git a/src/app/qbs-setup-qt/setupqt.h b/src/app/qbs-setup-qt/setupqt.h index f5ac44c9c..73c0afefe 100644 --- a/src/app/qbs-setup-qt/setupqt.h +++ b/src/app/qbs-setup-qt/setupqt.h @@ -40,12 +40,22 @@ #ifndef QBS_SETUPQT_H #define QBS_SETUPQT_H +#include <qtenvironment.h> #include <tools/error.h> + #include <QtCore/qcoreapplication.h> #include <QtCore/qstringlist.h> +#include <vector> + namespace qbs { -class QtEnvironment; + +class EnhancedQtEnvironment : public QtEnvironment +{ +public: + Version msvcVersion; +}; + class Settings; class SetupQt @@ -53,13 +63,14 @@ class SetupQt Q_DECLARE_TR_FUNCTIONS(SetupQt) public: static bool isQMakePathValid(const QString &qmakePath); - static QList<QtEnvironment> fetchEnvironments(); + static std::vector<EnhancedQtEnvironment> fetchEnvironments(); static void addQtBuildVariant(QtEnvironment *env, const QString &buildVariantName); - static QtEnvironment fetchEnvironment(const QString &qmakePath); - static void saveToQbsSettings(const QString &qtVersionName, const QtEnvironment & qtEnvironment, + static EnhancedQtEnvironment fetchEnvironment(const QString &qmakePath); + static void saveToQbsSettings(const QString &qtVersionName, + const EnhancedQtEnvironment &qtEnvironment, Settings *settings); static bool checkIfMoreThanOneQtWithTheSameVersion(const QString &qtVersion, - const QList<QtEnvironment> &qtEnvironments); + const std::vector<EnhancedQtEnvironment> &qtEnvironments); }; } // namespace qbs diff --git a/src/lib/qtprofilesetup/qtenvironment.h b/src/lib/qtprofilesetup/qtenvironment.h index 0b6ab8e51..4fb5a03ee 100644 --- a/src/lib/qtprofilesetup/qtenvironment.h +++ b/src/lib/qtprofilesetup/qtenvironment.h @@ -78,7 +78,6 @@ public: int qtMajorVersion; int qtMinorVersion; int qtPatchVersion; - Version msvcVersion; bool staticBuild = false; bool frameworkBuild = false; }; |