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>
This commit is contained in:
parent
e1e2b2d8ca
commit
a9bad65b09
@ -129,6 +129,7 @@ void QMakeEvaluator::initStatics()
|
|||||||
statics.strhost_build = QLatin1String("host_build");
|
statics.strhost_build = QLatin1String("host_build");
|
||||||
statics.strTEMPLATE = ProKey("TEMPLATE");
|
statics.strTEMPLATE = ProKey("TEMPLATE");
|
||||||
statics.strQMAKE_PLATFORM = ProKey("QMAKE_PLATFORM");
|
statics.strQMAKE_PLATFORM = ProKey("QMAKE_PLATFORM");
|
||||||
|
statics.strQMAKESPEC = ProKey("QMAKESPEC");
|
||||||
#ifdef PROEVALUATOR_FULL
|
#ifdef PROEVALUATOR_FULL
|
||||||
statics.strREQUIRES = ProKey("REQUIRES");
|
statics.strREQUIRES = ProKey("REQUIRES");
|
||||||
#endif
|
#endif
|
||||||
@ -939,6 +940,12 @@ void QMakeEvaluator::visitProVariable(
|
|||||||
setTemplate();
|
setTemplate();
|
||||||
else if (varName == statics.strQMAKE_PLATFORM)
|
else if (varName == statics.strQMAKE_PLATFORM)
|
||||||
m_featureRoots = 0;
|
m_featureRoots = 0;
|
||||||
|
else if (varName == statics.strQMAKESPEC) {
|
||||||
|
if (!values(varName).isEmpty()) {
|
||||||
|
m_qmakespec = values(varName).first().toQString();
|
||||||
|
m_featureRoots = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
#ifdef PROEVALUATOR_FULL
|
#ifdef PROEVALUATOR_FULL
|
||||||
else if (varName == statics.strREQUIRES)
|
else if (varName == statics.strREQUIRES)
|
||||||
checkRequirements(values(varName));
|
checkRequirements(values(varName));
|
||||||
@ -1160,7 +1167,7 @@ bool QMakeEvaluator::loadSpecInternal()
|
|||||||
m_qmakespec = orig_spec.toQString();
|
m_qmakespec = orig_spec.toQString();
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
valuesRef(ProKey("QMAKESPEC")) << ProString(m_qmakespec);
|
valuesRef(ProKey("QMAKESPEC")) = ProString(m_qmakespec);
|
||||||
m_qmakespecName = IoUtils::fileName(m_qmakespec).toString();
|
m_qmakespecName = IoUtils::fileName(m_qmakespec).toString();
|
||||||
// This also ensures that m_featureRoots is valid.
|
// This also ensures that m_featureRoots is valid.
|
||||||
if (evaluateFeatureFile(QLatin1String("spec_post.prf")) != ReturnTrue)
|
if (evaluateFeatureFile(QLatin1String("spec_post.prf")) != ReturnTrue)
|
||||||
|
@ -91,6 +91,7 @@ struct QMakeStatics {
|
|||||||
QString strhost_build;
|
QString strhost_build;
|
||||||
ProKey strTEMPLATE;
|
ProKey strTEMPLATE;
|
||||||
ProKey strQMAKE_PLATFORM;
|
ProKey strQMAKE_PLATFORM;
|
||||||
|
ProKey strQMAKESPEC;
|
||||||
#ifdef PROEVALUATOR_FULL
|
#ifdef PROEVALUATOR_FULL
|
||||||
ProKey strREQUIRES;
|
ProKey strREQUIRES;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user