Clang: Use QFileInfo instead of QDir for clang executable path

QDir::exists() returns false for files which is not the
intended behavior.

Change-Id: I768432df93e10b3f8f570da4d94035038ff52e06
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-05-25 14:18:33 +02:00
parent 6b071f5e36
commit 150d53e041

View File

@@ -565,10 +565,10 @@ QString clangIncludeDirectory(const QString &clangVersion, const QString &clangR
QString clangExecutable(const QString &clangBinDirectory)
{
const QString hostExeSuffix(QTC_HOST_EXE_SUFFIX);
QDir executable(creatorLibexecPath() + "/clang/bin/clang" + hostExeSuffix);
QFileInfo executable(creatorLibexecPath() + "/clang/bin/clang" + hostExeSuffix);
if (!executable.exists())
executable = QDir(clangBinDirectory + "/clang" + hostExeSuffix);
return QDir::toNativeSeparators(executable.canonicalPath());
executable = QFileInfo(clangBinDirectory + "/clang" + hostExeSuffix);
return QDir::toNativeSeparators(executable.canonicalFilePath());
}
void CompilerOptionsBuilder::undefineClangVersionMacrosForMsvc()