diff options
author | Tor Arne Vestbø <tor.arne.vestbo@digia.com> | 2013-10-11 15:48:44 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-10-29 12:26:32 +0100 |
commit | 612bc8ef85de467931f210174ca797497a1b769c (patch) | |
tree | 5d90d488f6d81d9409f89f8dec7cfb2b8a50a49c /src/shared | |
parent | e20b41cdf987352abc3bacd443204a299a933b2d (diff) | |
download | qt-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.cpp | 9 | ||||
-rw-r--r-- | src/shared/proparser/qmakeevaluator_p.h | 1 |
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 |