Merge remote-tracking branch 'origin/4.2'

Conflicts:
	src/plugins/android/androidbuildapkstep.cpp
	src/plugins/genericprojectmanager/genericproject.cpp

Change-Id: I3484b668f9323ed0c05de99f8dfed07c9e65ab98
This commit is contained in:
Eike Ziller
2017-01-11 09:29:37 +01:00
39 changed files with 521 additions and 154 deletions

View File

@@ -1459,8 +1459,17 @@ bool QmakeProject::matchesKit(const Kit *kit)
return false;
}
static Utils::FileName getFullPathOf(const QString &exe, const BuildConfiguration *bc)
static Utils::FileName getFullPathOf(const QmakeProFileNode *pro, QmakeVariable variable,
const BuildConfiguration *bc)
{
// Take last non-flag value, to cover e.g. '@echo $< && $$QMAKE_CC' or 'ccache gcc'
const QStringList values = Utils::filtered(pro->variableValue(variable),
[](const QString &value) {
return !value.startsWith('-');
});
if (values.isEmpty())
return Utils::FileName();
const QString exe = values.last();
QTC_ASSERT(bc, return Utils::FileName::fromString(exe));
QFileInfo fi(exe);
if (fi.isAbsolute())
@@ -1496,9 +1505,9 @@ void QmakeProject::warnOnToolChainMismatch(const QmakeProFileNode *pro) const
return;
testToolChain(ToolChainKitInformation::toolChain(t->kit(), ToolChain::Language::C),
getFullPathOf(pro->singleVariableValue(QmakeCc), bc));
getFullPathOf(pro, QmakeCc, bc));
testToolChain(ToolChainKitInformation::toolChain(t->kit(), ToolChain::Language::Cxx),
getFullPathOf(pro->singleVariableValue(QmakeCxx), bc));
getFullPathOf(pro, QmakeCxx, bc));
}
QString QmakeProject::executableFor(const QmakeProFileNode *node)