From 52ac74b61ce7000d693b846e0de1b4cf833ca50a Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Mon, 30 Apr 2018 15:26:36 +0200 Subject: ClangTools: Remove clang executable settings We use custom clang executable and it does not make sense anymore to give a choice of changing it. Change-Id: Icf86042ac3fcd08c320ef2bbdaabef1102b023b5 Reviewed-by: Nikolai Kosjar --- src/plugins/cpptools/compileroptionsbuilder.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp') diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 93e6ed3c10..57f937fb18 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -528,7 +528,7 @@ void CompilerOptionsBuilder::addClangIncludeFolder() { QTC_CHECK(!m_clangVersion.isEmpty()); add(SYSTEM_INCLUDE_PREFIX); - add(clangIncludeDirectory()); + add(clangIncludeDirectory(m_clangVersion, m_clangResourceDirectory)); } void CompilerOptionsBuilder::addProjectConfigFileInclude() @@ -548,14 +548,23 @@ static QString creatorLibexecPath() #endif } -QString CompilerOptionsBuilder::clangIncludeDirectory() const +QString clangIncludeDirectory(const QString &clangVersion, const QString &clangResourceDirectory) { - QDir dir(creatorLibexecPath() + "/clang" + clangIncludePath(m_clangVersion)); + QDir dir(creatorLibexecPath() + "/clang" + clangIncludePath(clangVersion)); if (!dir.exists() || !QFileInfo(dir, "stdint.h").exists()) - dir = QDir(m_clangResourceDirectory); + dir = QDir(clangResourceDirectory); return QDir::toNativeSeparators(dir.canonicalPath()); } +QString clangExecutable(const QString &clangBinDirectory) +{ + const QString hostExeSuffix(QTC_HOST_EXE_SUFFIX); + QDir executable(creatorLibexecPath() + "/clang/bin/clang" + hostExeSuffix); + if (!executable.exists()) + executable = QDir(clangBinDirectory + "/clang" + hostExeSuffix); + return QDir::toNativeSeparators(executable.canonicalPath()); +} + void CompilerOptionsBuilder::undefineClangVersionMacrosForMsvc() { if (m_projectPart.toolchainType == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID) { -- cgit v1.2.1