diff options
author | Marco Bubke <marco.bubke@qt.io> | 2018-02-08 12:48:46 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2018-02-22 10:23:39 +0000 |
commit | 6922f549d58e777020586c9572a4bcee49a7b778 (patch) | |
tree | dd5fe592fa4ae3a6571c58c97e4ab7c44be76594 /src/plugins/clangpchmanager/projectupdater.h | |
parent | e7663d0cce4e3e45367689c631bebb47c9d9ff50 (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.h | 12 |
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); |