aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2018-05-24 11:06:38 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2018-05-24 10:54:15 +0000
commit89beb7c66a1026c1161a87dfdefbc0b73928cc4b (patch)
treeb43ddcb890386895f9751fe83d756e26560edc20
parent045ee1cd01a334f2f6b1b68da08ad29b6ba64559 (diff)
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.cpp6
-rw-r--r--src/app/qbs-setup-qt/setupqt.cpp19
-rw-r--r--src/app/qbs-setup-qt/setupqt.h21
-rw-r--r--src/lib/qtprofilesetup/qtenvironment.h1
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;
};