Qt4Project: Do a build_pass evaluation
Some projects set TARGET or DESTDIR only in the build_pass Task-number: QTCREATORBUG-4273 Change-Id: I3673dd93b37b10102a0c1f1ce053e1aef8aaf53f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com> (cherry picked from qtcreator/95169eb8e39c6f43b7e74fbb18d4db19a38b0124) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
parent
e469ee1340
commit
76bf4a24f1
@ -1356,11 +1356,9 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProFile(
|
||||
loadDefaults();
|
||||
}
|
||||
|
||||
#ifdef QT_BUILD_QMAKE
|
||||
for (ProValueMap::ConstIterator it = m_extraVars.constBegin();
|
||||
it != m_extraVars.constEnd(); ++it)
|
||||
m_valuemapStack.first().insert(it.key(), it.value());
|
||||
#endif
|
||||
|
||||
VisitReturn vr;
|
||||
|
||||
@ -1375,11 +1373,9 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProFile(
|
||||
|
||||
evaluateCommand(m_option->precmds, fL1S("(command line)"));
|
||||
|
||||
#ifdef QT_BUILD_QMAKE
|
||||
// After user configs, to override them
|
||||
if (!m_extraConfigs.isEmpty())
|
||||
evaluateCommand("CONFIG += " + m_extraConfigs.join(' '), fL1S("(extra configs)"));
|
||||
#endif
|
||||
evaluateCommand(fL1S("CONFIG += ") + m_extraConfigs.join(QLatin1Char(' ')), fL1S("(extra configs)"));
|
||||
}
|
||||
|
||||
debugMsg(1, "visiting file %s", qPrintable(pro->fileName()));
|
||||
@ -1390,13 +1386,11 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProFile(
|
||||
if (flags & LoadPostFiles) {
|
||||
evaluateCommand(m_option->postcmds, fL1S("(command line -after)"));
|
||||
|
||||
#ifdef QT_BUILD_QMAKE
|
||||
// Again, to ensure the project does not mess with us.
|
||||
// Specifically, do not allow a project to override debug/release within a
|
||||
// debug_and_release build pass - it's too late for that at this point anyway.
|
||||
if (!m_extraConfigs.isEmpty())
|
||||
evaluateCommand("CONFIG += " + m_extraConfigs.join(' '), fL1S("(extra configs)"));
|
||||
#endif
|
||||
evaluateCommand(fL1S("CONFIG += ") + m_extraConfigs.join(QLatin1Char(' ')), fL1S("(extra configs)"));
|
||||
|
||||
if ((vr = evaluateFeatureFile(QLatin1String("default_post.prf"))) == ReturnError)
|
||||
goto failed;
|
||||
|
@ -112,10 +112,8 @@ public:
|
||||
QMakeHandler *handler);
|
||||
~QMakeEvaluator();
|
||||
|
||||
#ifdef QT_BUILD_QMAKE
|
||||
void setExtraVars(const ProValueMap &extraVars) { m_extraVars = extraVars; }
|
||||
void setExtraConfigs(const ProStringList &extraConfigs) { m_extraConfigs = extraConfigs; }
|
||||
#endif
|
||||
void setOutputDir(const QString &outputDir) { m_outputDir = outputDir; }
|
||||
|
||||
ProStringList values(const ProKey &variableName) const;
|
||||
@ -268,10 +266,8 @@ public:
|
||||
QStack<Location> m_locationStack; // All execution location changes
|
||||
QStack<ProFile *> m_profileStack; // Includes only
|
||||
|
||||
#ifdef QT_BUILD_QMAKE
|
||||
ProValueMap m_extraVars;
|
||||
ProStringList m_extraConfigs;
|
||||
#endif
|
||||
QString m_outputDir;
|
||||
|
||||
int m_listCount;
|
||||
|
Loading…
x
Reference in New Issue
Block a user