make QMAKE_DIR_SEP magic on writing
since ab0cc305, the spec will be replaced by an entirely new one during configuration, and so needs to update the path separator for $$shell_{path,quote}(). however, the latter didn't happen, as the spec reloading doesn't go through the "real" spec loading path. Change-Id: I45ab3156b8e040f683328ac46e48b09c2eb94ef7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
29a929668b
commit
f2b31fdb6b
@ -152,6 +152,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.strQMAKE_DIR_SEP = ProKey("QMAKE_DIR_SEP");
|
||||||
statics.strQMAKESPEC = ProKey("QMAKESPEC");
|
statics.strQMAKESPEC = ProKey("QMAKESPEC");
|
||||||
#ifdef PROEVALUATOR_FULL
|
#ifdef PROEVALUATOR_FULL
|
||||||
statics.strREQUIRES = ProKey("REQUIRES");
|
statics.strREQUIRES = ProKey("REQUIRES");
|
||||||
@ -938,6 +939,8 @@ QMakeEvaluator::VisitReturn 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.strQMAKE_DIR_SEP)
|
||||||
|
m_dirSep = first(varName);
|
||||||
else if (varName == statics.strQMAKESPEC) {
|
else if (varName == statics.strQMAKESPEC) {
|
||||||
if (!values(varName).isEmpty()) {
|
if (!values(varName).isEmpty()) {
|
||||||
QString spec = values(varName).first().toQString();
|
QString spec = values(varName).first().toQString();
|
||||||
@ -1218,8 +1221,6 @@ bool QMakeEvaluator::loadSpecInternal()
|
|||||||
// 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)
|
||||||
return false;
|
return false;
|
||||||
// The MinGW and x-build specs may change the separator; $$shell_{path,quote}() need it
|
|
||||||
m_dirSep = first(ProKey("QMAKE_DIR_SEP"));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,6 +78,7 @@ struct QMakeStatics {
|
|||||||
QString strhost_build;
|
QString strhost_build;
|
||||||
ProKey strTEMPLATE;
|
ProKey strTEMPLATE;
|
||||||
ProKey strQMAKE_PLATFORM;
|
ProKey strQMAKE_PLATFORM;
|
||||||
|
ProKey strQMAKE_DIR_SEP;
|
||||||
ProKey strQMAKESPEC;
|
ProKey strQMAKESPEC;
|
||||||
#ifdef PROEVALUATOR_FULL
|
#ifdef PROEVALUATOR_FULL
|
||||||
ProKey strREQUIRES;
|
ProKey strREQUIRES;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user