From 3abaf647d0c632a4dfcb00d9ad2d1ffe66e014d9 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Mon, 3 Sep 2018 16:10:43 +0200 Subject: Add system include path to HeaderPath and merge ProjectPartHeaderPath System include paths are appended after other includes by the compiler. So we should set them as system includes and not as normal includes. Otherwise we change the include order. Headers in system include paths are not cluttering the screen with unwanted warning and by the way improve performance too. ProjectPartHeaderPath was a dopperganger of HeaderPath, so we merged them. Change-Id: I7c394b4098b697de79761499ffcd5913cc02d652 Reviewed-by: Tobias Hunger --- src/plugins/cpptools/compileroptionsbuilder.cpp | 11 +++++++---- 1 file changed, 7 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 25b64f58e1..f1e51611a4 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -198,11 +198,11 @@ void CompilerOptionsBuilder::enableExceptions() void CompilerOptionsBuilder::addHeaderPathOptions() { - typedef ProjectPartHeaderPath HeaderPath; + using ProjectExplorer::IncludePathType; QStringList result; - foreach (const HeaderPath &headerPath , m_projectPart.headerPaths) { + for (const ProjectExplorer::HeaderPath &headerPath : qAsConst(m_projectPart.headerPaths)) { if (headerPath.path.isEmpty()) continue; @@ -212,12 +212,15 @@ void CompilerOptionsBuilder::addHeaderPathOptions() QString prefix; Utils::FileName path; switch (headerPath.type) { - case HeaderPath::FrameworkPath: + case IncludePathType::Framework: prefix = QLatin1String("-F"); break; + case IncludePathType::System: + prefix = "-isystem"; + break; default: // This shouldn't happen, but let's be nice..: // intentional fall-through: - case HeaderPath::IncludePath: + case IncludePathType::User: prefix = includeDirOptionForPath(headerPath.path); break; } -- cgit v1.2.1