summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2013-02-15 12:24:22 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-05-21 14:43:10 +0200
commit7676ab9cba4fe159f6f7679de8e9a23a8249fbd1 (patch)
tree9ec02aa315d4ed7826e175fceae8528b21119299
parent9a36904e158d85f86155bf07c9038988e46461ae (diff)
downloadqttools-7676ab9cba4fe159f6f7679de8e9a23a8249fbd1.tar.gz
Update feature paths on assignment to QMAKE_PLATFORM
Instead of after parsing the makespecs, were we assumed QMAKE_PLATFORM had been set by the makespec and did an explicit update. Allows loading platform specific features from within a makespec after updating QMAKE_PLATFORM. Change-Id: I0eb3b7fb88ce48b00a384850c5d87223c06234d7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> (cherry picked from qtbase/4dd29248cd43ff730f7432b51a443b72fad3523d) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--src/linguist/shared/qmakeevaluator.cpp4
-rw-r--r--src/linguist/shared/qmakeevaluator_p.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/linguist/shared/qmakeevaluator.cpp b/src/linguist/shared/qmakeevaluator.cpp
index 7259e811c..ce2a5d19e 100644
--- a/src/linguist/shared/qmakeevaluator.cpp
+++ b/src/linguist/shared/qmakeevaluator.cpp
@@ -126,6 +126,7 @@ void QMakeEvaluator::initStatics()
statics.strforever = QLatin1String("forever");
statics.strhost_build = QLatin1String("host_build");
statics.strTEMPLATE = ProKey("TEMPLATE");
+ statics.strQMAKE_PLATFORM = ProKey("QMAKE_PLATFORM");
#ifdef PROEVALUATOR_FULL
statics.strREQUIRES = ProKey("REQUIRES");
#endif
@@ -924,6 +925,8 @@ void QMakeEvaluator::visitProVariable(
if (varName == statics.strTEMPLATE)
setTemplate();
+ else if (varName == statics.strQMAKE_PLATFORM)
+ updateFeaturePaths();
#ifdef PROEVALUATOR_FULL
else if (varName == statics.strREQUIRES)
checkRequirements(values(varName));
@@ -1214,7 +1217,6 @@ bool QMakeEvaluator::loadSpec()
}
if (!loadSpecInternal())
return false;
- updateFeaturePaths(); // The spec extends the feature search path, so rebuild the cache.
if (!m_conffile.isEmpty()
&& !evaluateFile(m_conffile, QMakeHandler::EvalConfigFile, LoadProOnly)) {
return false;
diff --git a/src/linguist/shared/qmakeevaluator_p.h b/src/linguist/shared/qmakeevaluator_p.h
index 987fd686d..025a913bc 100644
--- a/src/linguist/shared/qmakeevaluator_p.h
+++ b/src/linguist/shared/qmakeevaluator_p.h
@@ -89,6 +89,7 @@ struct QMakeStatics {
QString strforever;
QString strhost_build;
ProKey strTEMPLATE;
+ ProKey strQMAKE_PLATFORM;
#ifdef PROEVALUATOR_FULL
ProKey strREQUIRES;
#endif