summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-06-11 19:06:18 +0200
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-06-24 13:13:30 +0200
commit958672e4607acf654b0fe5f35a385e95a3042f23 (patch)
tree1ae80d16a4a33ac1085182a57f9db3a4c28b7baf /src
parentdc5a0e3e5a2a620b9f2bcac6ec6873080c498bc9 (diff)
downloadqt-creator-958672e4607acf654b0fe5f35a385e95a3042f23.tar.gz
find qmakespecs in source directory of shadow built qt
qt 5.2 does not copy the qmakespecs to the build directory any more. a fallback to the /get property variant ensures that other build types continue to work. consequently, this has no effect whatsoever on installed qt versions. (based on qtbase/214b55d5d4c8fdf975b3c36f69bac4b07d8d39d0) Task-number: QTCREATORBUG-9572 Change-Id: I9edac11f8997fcb0594d0a67419d4733dd4ed86b Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qtsupport/baseqtversion.cpp8
-rw-r--r--src/plugins/qtsupport/baseqtversion.h4
-rw-r--r--src/shared/proparser/qmakeevaluator.cpp2
3 files changed, 10 insertions, 4 deletions
diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index 37c063cd4c..e2062e2145 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -992,9 +992,11 @@ QHash<QString,QString> BaseQtVersion::versionInfo() const
return m_versionInfo;
}
-QString BaseQtVersion::qmakeProperty(const QHash<QString,QString> &versionInfo, const QByteArray &name)
+QString BaseQtVersion::qmakeProperty(const QHash<QString,QString> &versionInfo, const QByteArray &name,
+ PropertyVariant variant)
{
- QString val = versionInfo.value(QString::fromLatin1(name + "/get"));
+ QString val = versionInfo.value(QString::fromLatin1(
+ name + (variant == PropertyVariantGet ? "/get" : "/src")));
if (!val.isNull())
return val;
return versionInfo.value(QString::fromLatin1(name));
@@ -1354,7 +1356,7 @@ bool BaseQtVersion::queryQMakeVariables(const FileName &binary, const Environmen
FileName BaseQtVersion::mkspecDirectoryFromVersionInfo(const QHash<QString, QString> &versionInfo)
{
- QString dataDir = qmakeProperty(versionInfo, "QT_HOST_DATA");
+ QString dataDir = qmakeProperty(versionInfo, "QT_HOST_DATA", PropertyVariantSrc);
if (dataDir.isEmpty())
return FileName();
return FileName::fromUserInput(dataDir + QLatin1String("/mkspecs"));
diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h
index 0728cc3ecb..c0d14e419a 100644
--- a/src/plugins/qtsupport/baseqtversion.h
+++ b/src/plugins/qtsupport/baseqtversion.h
@@ -121,7 +121,9 @@ public:
// Returns the PREFIX, BINPREFIX, DOCPREFIX and similar information
QHash<QString,QString> versionInfo() const;
- static QString qmakeProperty(const QHash<QString,QString> &versionInfo, const QByteArray &name);
+ enum PropertyVariant { PropertyVariantGet, PropertyVariantSrc };
+ static QString qmakeProperty(const QHash<QString,QString> &versionInfo, const QByteArray &name,
+ PropertyVariant variant = PropertyVariantGet);
QString qmakeProperty(const QByteArray &name) const;
virtual void addToEnvironment(const ProjectExplorer::Kit *k, Utils::Environment &env) const;
virtual Utils::Environment qmakeRunEnvironment() const;
diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp
index e13b3e49cc..21a0e3bd31 100644
--- a/src/shared/proparser/qmakeevaluator.cpp
+++ b/src/shared/proparser/qmakeevaluator.cpp
@@ -1418,6 +1418,7 @@ void QMakeEvaluator::updateMkspecPaths()
ret << m_sourceRoot + concat;
ret << m_option->propertyValue(ProKey("QT_HOST_DATA/get")) + concat;
+ ret << m_option->propertyValue(ProKey("QT_HOST_DATA/src")) + concat;
ret.removeDuplicates();
m_mkspecPaths = ret;
@@ -1471,6 +1472,7 @@ void QMakeEvaluator::updateFeaturePaths()
}
feature_bases << (m_option->propertyValue(ProKey("QT_HOST_DATA/get")) + mkspecs_concat);
+ feature_bases << (m_option->propertyValue(ProKey("QT_HOST_DATA/src")) + mkspecs_concat);
foreach (const QString &fb, feature_bases) {
foreach (const ProString &sfx, values(ProKey("QMAKE_PLATFORM")))