Android: Fix clang executable suffix on Windows

Change-Id: I78e8e49efd52d33f9f26f554a3400fabbe74d9ed
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-11-14 16:54:47 +01:00
parent 558ff1fd93
commit e164717108
2 changed files with 10 additions and 2 deletions

View File

@@ -424,7 +424,8 @@ FileName AndroidConfig::clangPath() const
QDirIterator iter(clangPath.toString(), hostPatterns, QDir::Dirs); QDirIterator iter(clangPath.toString(), hostPatterns, QDir::Dirs);
if (iter.hasNext()) { if (iter.hasNext()) {
iter.next(); iter.next();
return clangPath.appendPath(iter.fileName()).appendPath("bin/clang"); return clangPath.appendPath(iter.fileName())
.appendPath(HostOsInfo::withExecutableSuffix("bin/clang"));
} }
return clangPath; return clangPath;

View File

@@ -177,6 +177,13 @@ ToolChain *AndroidToolChainFactory::restore(const QVariantMap &data)
return nullptr; return nullptr;
} }
static FileName clangPlusPlusPath(const FileName &clangPath)
{
return clangPath.parentDir().appendPath(
HostOsInfo::withExecutableSuffix(
QFileInfo(clangPath.toString()).baseName() + "++"));
}
ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(CToolChainList &alreadyKnown) ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(CToolChainList &alreadyKnown)
{ {
QList<ToolChain *> result; QList<ToolChain *> result;
@@ -192,7 +199,7 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(CToolChainList
for (const Core::Id &lang : LanguageIds) { for (const Core::Id &lang : LanguageIds) {
FileName compilerCommand = clangPath; FileName compilerCommand = clangPath;
if (lang == ProjectExplorer::Constants::CXX_LANGUAGE_ID) if (lang == ProjectExplorer::Constants::CXX_LANGUAGE_ID)
compilerCommand.appendString("++"); compilerCommand = clangPlusPlusPath(clangPath);
if (!compilerCommand.exists()) { if (!compilerCommand.exists()) {
qCDebug(androidTCLog) << "Skipping Clang toolchain. Can not find compiler" qCDebug(androidTCLog) << "Skipping Clang toolchain. Can not find compiler"