forked from qt-creator/qt-creator
clang: Fix include/resource dir confusion
The getClangResourceDirAndVersion() function in ClangTools could return the actual resource dir or the include dir, depending on the input. This mistake happened because of misleading names spread all around the code. Now the function returns what it says, and the other names are accurate as well. Change-Id: I0a8600857ee7b9fafb16256e0d1ad203ac3273d2 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -105,14 +105,14 @@ CompilerOptionsBuilder::CompilerOptionsBuilder(const ProjectPart &projectPart,
|
||||
UseLanguageDefines useLanguageDefines,
|
||||
UseBuildSystemWarnings useBuildSystemWarnings,
|
||||
const QString &clangVersion,
|
||||
const QString &clangResourceDirectory)
|
||||
const QString &clangIncludeDirectory)
|
||||
: m_projectPart(projectPart)
|
||||
, m_useSystemHeader(useSystemHeader)
|
||||
, m_useTweakedHeaderPaths(useTweakedHeaderPaths)
|
||||
, m_useLanguageDefines(useLanguageDefines)
|
||||
, m_useBuildSystemWarnings(useBuildSystemWarnings)
|
||||
, m_clangVersion(clangVersion)
|
||||
, m_clangResourceDirectory(clangResourceDirectory)
|
||||
, m_clangIncludeDirectory(clangIncludeDirectory)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -332,7 +332,7 @@ void CompilerOptionsBuilder::addHeaderPathOptions()
|
||||
HeaderPathFilter filter{m_projectPart,
|
||||
m_useTweakedHeaderPaths,
|
||||
m_clangVersion,
|
||||
m_clangResourceDirectory};
|
||||
m_clangIncludeDirectory};
|
||||
|
||||
filter.process();
|
||||
|
||||
|
||||
@@ -45,14 +45,13 @@ CPPTOOLS_EXPORT QStringList createLanguageOptionGcc(ProjectFile::Kind fileKind,
|
||||
class CPPTOOLS_EXPORT CompilerOptionsBuilder
|
||||
{
|
||||
public:
|
||||
CompilerOptionsBuilder(
|
||||
const ProjectPart &projectPart,
|
||||
CompilerOptionsBuilder(const ProjectPart &projectPart,
|
||||
UseSystemHeader useSystemHeader = UseSystemHeader::No,
|
||||
UseTweakedHeaderPaths useTweakedHeaderPaths = UseTweakedHeaderPaths::No,
|
||||
UseLanguageDefines useLanguageDefines = UseLanguageDefines::No,
|
||||
UseBuildSystemWarnings useBuildSystemWarnings = UseBuildSystemWarnings::No,
|
||||
const QString &clangVersion = QString(),
|
||||
const QString &clangResourceDirectory = QString());
|
||||
const QString &clangIncludeDirectory = QString());
|
||||
|
||||
QStringList build(ProjectFile::Kind fileKind, UsePrecompiledHeaders usePrecompiledHeaders);
|
||||
QStringList options() const { return m_options; }
|
||||
@@ -112,7 +111,7 @@ private:
|
||||
const UseBuildSystemWarnings m_useBuildSystemWarnings;
|
||||
|
||||
const QString m_clangVersion;
|
||||
const QString m_clangResourceDirectory;
|
||||
const QString m_clangIncludeDirectory;
|
||||
|
||||
struct {
|
||||
QStringList flags;
|
||||
|
||||
@@ -104,14 +104,14 @@ void HeaderPathFilter::filterHeaderPath(const ProjectExplorer::HeaderPath &heade
|
||||
|
||||
namespace {
|
||||
|
||||
QString clangIncludeDirectory(const QString &clangVersion, const QString &clangResourceDirectory)
|
||||
QString clangIncludeDirectory(const QString &clangVersion, const QString &clangFallbackIncludeDir)
|
||||
{
|
||||
#ifndef UNIT_TESTS
|
||||
return Core::ICore::clangIncludeDirectory(clangVersion, clangResourceDirectory);
|
||||
return Core::ICore::clangIncludeDirectory(clangVersion, clangFallbackIncludeDir);
|
||||
#else
|
||||
Q_UNUSED(clangVersion)
|
||||
Q_UNUSED(clangResourceDirectory)
|
||||
return {CLANG_RESOURCE_DIR};
|
||||
Q_UNUSED(clangFallbackIncludeDir)
|
||||
return {CLANG_INCLUDE_DIR};
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -158,7 +158,8 @@ void HeaderPathFilter::tweakHeaderPaths()
|
||||
auto split = resourceIterator(builtInHeaderPaths);
|
||||
|
||||
if (!clangVersion.isEmpty()) {
|
||||
const QString clangIncludePath = clangIncludeDirectory(clangVersion, clangResourceDirectory);
|
||||
const QString clangIncludePath
|
||||
= clangIncludeDirectory(clangVersion, clangFallbackIncludeDirectory);
|
||||
builtInHeaderPaths.insert(split, HeaderPath{clangIncludePath, HeaderPathType::BuiltIn});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,12 +35,12 @@ public:
|
||||
HeaderPathFilter(const ProjectPart &projectPart,
|
||||
UseTweakedHeaderPaths useTweakedHeaderPaths = UseTweakedHeaderPaths::Yes,
|
||||
const QString &clangVersion = {},
|
||||
const QString &clangResourceDirectory = {},
|
||||
const QString &clangIncludeDirectory = {},
|
||||
const QString &projectDirectory = {},
|
||||
const QString &buildDirectory = {})
|
||||
: projectPart{projectPart}
|
||||
, clangVersion{clangVersion}
|
||||
, clangResourceDirectory{clangResourceDirectory}
|
||||
, clangFallbackIncludeDirectory{clangIncludeDirectory}
|
||||
, projectDirectory(ensurePathWithSlashEnding(projectDirectory))
|
||||
, buildDirectory(ensurePathWithSlashEnding(buildDirectory))
|
||||
, useTweakedHeaderPaths{useTweakedHeaderPaths}
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
ProjectExplorer::HeaderPaths userHeaderPaths;
|
||||
const ProjectPart &projectPart;
|
||||
const QString clangVersion;
|
||||
const QString clangResourceDirectory;
|
||||
const QString clangFallbackIncludeDirectory;
|
||||
const QString projectDirectory;
|
||||
const QString buildDirectory;
|
||||
const UseTweakedHeaderPaths useTweakedHeaderPaths;
|
||||
|
||||
Reference in New Issue
Block a user