aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangpchmanager/projectupdater.h
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2018-02-08 12:48:46 +0100
committerMarco Bubke <marco.bubke@qt.io>2018-02-22 10:23:39 +0000
commit6922f549d58e777020586c9572a4bcee49a7b778 (patch)
treedd5fe592fa4ae3a6571c58c97e4ab7c44be76594 /src/plugins/clangpchmanager/projectupdater.h
parente7663d0cce4e3e45367689c631bebb47c9d9ff50 (diff)
Clang: Check if the include search path has changed
If the include search paths and the compiler macros have not changed it is save to assume that we don't need to update the symbol database. This saves us from executing a very expensive task. Later we have to test the modification time of the files too. Change-Id: I6b958075024a811c2abd3d7918263fd74bba090b Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/clangpchmanager/projectupdater.h')
-rw-r--r--src/plugins/clangpchmanager/projectupdater.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/clangpchmanager/projectupdater.h b/src/plugins/clangpchmanager/projectupdater.h
index c58d0ed8e3..e4066cd0d1 100644
--- a/src/plugins/clangpchmanager/projectupdater.h
+++ b/src/plugins/clangpchmanager/projectupdater.h
@@ -31,9 +31,16 @@
#include <filecontainerv2.h>
#include <filepathcachinginterface.h>
+namespace ProjectExplorer {
+class Macro;
+using Macros = QVector<Macro>;
+}
+
namespace CppTools {
class ProjectPart;
class ProjectFile;
+class ProjectPartHeaderPath;
+using ProjectPartHeaderPaths = QVector<ProjectPartHeaderPath>;
}
namespace ClangBackEnd {
@@ -74,7 +81,10 @@ unittest_public:
void addToHeaderAndSources(HeaderAndSources &headerAndSources,
const CppTools::ProjectFile &projectFile) const;
static QStringList compilerArguments(CppTools::ProjectPart *projectPart);
- static ClangBackEnd::CompilerMacros createCompilerMacros(CppTools::ProjectPart *projectPart);
+ static ClangBackEnd::CompilerMacros createCompilerMacros(
+ const ProjectExplorer::Macros &projectMacros);
+ static Utils::SmallStringVector createIncludeSearchPaths(
+ const CppTools::ProjectPartHeaderPaths &projectPartHeaderPaths);
static Utils::PathStringVector createExcludedPaths(
const ClangBackEnd::V2::FileContainers &generatedFiles);