update m_featureRoots less aggressively
it's not necessary to immediately re-calculate the roots after assigning QMAKE_PLATFORM - it's sufficient to do it on-demand, so merely invalidate them. this avoids that we re-calculate them multiple times without ever using them in between while processing specs with distributed platform assignments. Change-Id: If508594764811b96a577fc81c5ded34ab0453148 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> (cherry picked from qtcreator/28df27d924bb407791a76de8159c9ffa6efde283) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
parent
3a6a462ad9
commit
3fdf69b599
@ -936,7 +936,7 @@ void QMakeEvaluator::visitProVariable(
|
||||
if (varName == statics.strTEMPLATE)
|
||||
setTemplate();
|
||||
else if (varName == statics.strQMAKE_PLATFORM)
|
||||
updateFeaturePaths();
|
||||
m_featureRoots = 0;
|
||||
#ifdef PROEVALUATOR_FULL
|
||||
else if (varName == statics.strREQUIRES)
|
||||
checkRequirements(values(varName));
|
||||
@ -1160,6 +1160,7 @@ bool QMakeEvaluator::loadSpecInternal()
|
||||
#endif
|
||||
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)
|
||||
return false;
|
||||
// The MinGW and x-build specs may change the separator; $$shell_{path,quote}() need it
|
||||
|
Loading…
Reference in New Issue
Block a user