summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2013-10-11 15:48:44 +0200
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-10-29 12:26:32 +0100
commit612bc8ef85de467931f210174ca797497a1b769c (patch)
tree5d90d488f6d81d9409f89f8dec7cfb2b8a50a49c /src/shared
parente20b41cdf987352abc3bacd443204a299a933b2d (diff)
downloadqt-creator-612bc8ef85de467931f210174ca797497a1b769c.tar.gz
qmake: Update internal mkspec on changes to QMAKESPEC
Allows the macx-xcode mkspec to be a wrapper around other mkspecs. Since QMAKESPEC can now be set in the spec, we have to ensure not to append to QMAKESPEC. Change-Id: Idf33ff38147f14c488f14b426c02d9a739fdaecf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtbase/a9bad65b091d15b0446fa141e0a69ebb94b38b70) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/proparser/qmakeevaluator.cpp9
-rw-r--r--src/shared/proparser/qmakeevaluator_p.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp
index 2f732161c3..d08282d4b1 100644
--- a/src/shared/proparser/qmakeevaluator.cpp
+++ b/src/shared/proparser/qmakeevaluator.cpp
@@ -117,6 +117,7 @@ void QMakeEvaluator::initStatics()
statics.strhost_build = QLatin1String("host_build");
statics.strTEMPLATE = ProKey("TEMPLATE");
statics.strQMAKE_PLATFORM = ProKey("QMAKE_PLATFORM");
+ statics.strQMAKESPEC = ProKey("QMAKESPEC");
#ifdef PROEVALUATOR_FULL
statics.strREQUIRES = ProKey("REQUIRES");
#endif
@@ -932,6 +933,12 @@ void QMakeEvaluator::visitProVariable(
setTemplate();
else if (varName == statics.strQMAKE_PLATFORM)
m_featureRoots = 0;
+ else if (varName == statics.strQMAKESPEC) {
+ if (!values(varName).isEmpty()) {
+ m_qmakespec = values(varName).first().toQString();
+ m_featureRoots = 0;
+ }
+ }
#ifdef PROEVALUATOR_FULL
else if (varName == statics.strREQUIRES)
checkRequirements(values(varName));
@@ -1153,7 +1160,7 @@ bool QMakeEvaluator::loadSpecInternal()
m_qmakespec = orig_spec.toQString();
# endif
#endif
- valuesRef(ProKey("QMAKESPEC")) << ProString(m_qmakespec);
+ valuesRef(ProKey("QMAKESPEC")) = ProString(m_qmakespec);
m_qmakespecName = IoUtils::fileName(m_qmakespec).toString();
// This also ensures that m_featureRoots is valid.
if (evaluateFeatureFile(QLatin1String("spec_post.prf")) != ReturnTrue)
diff --git a/src/shared/proparser/qmakeevaluator_p.h b/src/shared/proparser/qmakeevaluator_p.h
index 50c063be89..078c1cd89c 100644
--- a/src/shared/proparser/qmakeevaluator_p.h
+++ b/src/shared/proparser/qmakeevaluator_p.h
@@ -79,6 +79,7 @@ struct QMakeStatics {
QString strhost_build;
ProKey strTEMPLATE;
ProKey strQMAKE_PLATFORM;
+ ProKey strQMAKESPEC;
#ifdef PROEVALUATOR_FULL
ProKey strREQUIRES;
#endif