Clang: always use -isystem for compiler options builder

We always provide the full includes list ourselves so
it will not change the includes order.

Change-Id: I84ee2ca7f05bfb71ae400f0e9e0b8f52810252b3
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-12-14 12:49:26 +01:00
parent c21657184b
commit c760804102
2 changed files with 13 additions and 7 deletions

View File

@@ -120,16 +120,20 @@ private:
if (m_projectPart.qtVersion != CppTools::ProjectPart::NoQt) { if (m_projectPart.qtVersion != CppTools::ProjectPart::NoQt) {
const QString wrappedQtCoreHeaderPath = wrappedQtHeadersPath + "/QtCore"; const QString wrappedQtCoreHeaderPath = wrappedQtHeadersPath + "/QtCore";
add(includeDirOption() + QDir::toNativeSeparators(wrappedQtHeadersPath)); add(includeDirOption());
add(includeDirOption() + QDir::toNativeSeparators(wrappedQtCoreHeaderPath)); add(QDir::toNativeSeparators(wrappedQtHeadersPath));
add(includeDirOption());
add(QDir::toNativeSeparators(wrappedQtCoreHeaderPath));
} }
} }
void addDummyUiHeaderOnDiskIncludePath() void addDummyUiHeaderOnDiskIncludePath()
{ {
const QString path = ModelManagerSupportClang::instance()->dummyUiHeaderOnDiskDirPath(); const QString path = ModelManagerSupportClang::instance()->dummyUiHeaderOnDiskDirPath();
if (!path.isEmpty()) if (!path.isEmpty()) {
add(includeDirOption() + QDir::toNativeSeparators(path)); add(includeDirOption());
add(QDir::toNativeSeparators(path));
}
} }
}; };

View File

@@ -136,7 +136,8 @@ void CompilerOptionsBuilder::addHeaderPathOptions()
break; break;
} }
result.append(prefix + QDir::toNativeSeparators(headerPath.path)); result.append(prefix);
result.append(QDir::toNativeSeparators(headerPath.path));
} }
m_options.append(result); m_options.append(result);
@@ -399,7 +400,7 @@ void CompilerOptionsBuilder::addDefineFunctionMacrosMsvc()
QString CompilerOptionsBuilder::includeDirOption() const QString CompilerOptionsBuilder::includeDirOption() const
{ {
return QLatin1String("-I"); return QLatin1String("-isystem");
} }
QByteArray CompilerOptionsBuilder::macroOption(const ProjectExplorer::Macro &macro) const QByteArray CompilerOptionsBuilder::macroOption(const ProjectExplorer::Macro &macro) const
@@ -501,7 +502,8 @@ void CompilerOptionsBuilder::addPredefinedHeaderPathsOptions()
void CompilerOptionsBuilder::addClangIncludeFolder() void CompilerOptionsBuilder::addClangIncludeFolder()
{ {
QTC_CHECK(!m_clangVersion.isEmpty()); QTC_CHECK(!m_clangVersion.isEmpty());
add(includeDirOption() + clangIncludeDirectory()); add(includeDirOption());
add(clangIncludeDirectory());
} }
void CompilerOptionsBuilder::addProjectConfigFileInclude() void CompilerOptionsBuilder::addProjectConfigFileInclude()