aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangpchmanager/projectupdater.h
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2019-05-07 16:51:22 +0200
committerMarco Bubke <marco.bubke@qt.io>2019-06-13 16:51:48 +0000
commit4bae5de36b530bbef06ec7cb1fbfb7453fd59dc7 (patch)
treee8631b82915aef669fd63e6b0a72a1088185fa7e /src/plugins/clangpchmanager/projectupdater.h
parentf636f06b458782289340a61e42e6bbc1e523f937 (diff)
Enable macro editing for the Clang indexer
Refactor much of the code from Environment* classes to NameValue* classes to share it with the preprocessor macro settings. Change-Id: Ica4ee817aa338230c422b30d91240d266248d226 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/clangpchmanager/projectupdater.h')
-rw-r--r--src/plugins/clangpchmanager/projectupdater.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/plugins/clangpchmanager/projectupdater.h b/src/plugins/clangpchmanager/projectupdater.h
index 044b86f637..4c4300d194 100644
--- a/src/plugins/clangpchmanager/projectupdater.h
+++ b/src/plugins/clangpchmanager/projectupdater.h
@@ -37,6 +37,8 @@
#include <projectexplorer/headerpath.h>
+#include <utils/environmentfwd.h>
+
namespace ProjectExplorer {
class Macro;
using Macros = QVector<Macro>;
@@ -59,6 +61,8 @@ namespace ClangPchManager {
class HeaderAndSources;
class PchManagerClient;
+class ClangIndexingSettingsManager;
+class ClangIndexingProjectSettings;
class CLANGPCHMANAGER_EXPORT ProjectUpdater
{
@@ -71,10 +75,12 @@ public:
ProjectUpdater(ClangBackEnd::ProjectManagementServerInterface &server,
ClangBackEnd::FilePathCachingInterface &filePathCache,
- ClangBackEnd::ProjectPartsStorageInterface &projectPartsStorage)
+ ClangBackEnd::ProjectPartsStorageInterface &projectPartsStorage,
+ ClangIndexingSettingsManager &settingsManager)
: m_server(server)
, m_filePathCache(filePathCache)
, m_projectPartsStorage(projectPartsStorage)
+ , m_settingsManager(settingsManager)
{}
void updateProjectParts(const std::vector<CppTools::ProjectPart *> &projectParts,
@@ -98,8 +104,8 @@ public:
void addToHeaderAndSources(HeaderAndSources &headerAndSources,
const CppTools::ProjectFile &projectFile) const;
static QStringList toolChainArguments(CppTools::ProjectPart *projectPart);
- static ClangBackEnd::CompilerMacros createCompilerMacros(
- const ProjectExplorer::Macros &projectMacros);
+ ClangBackEnd::CompilerMacros createCompilerMacros(const ProjectExplorer::Macros &projectMacros,
+ Utils::NameValueItems &&settingsMacros) const;
static SystemAndProjectIncludeSearchPaths createIncludeSearchPaths(
const CppTools::ProjectPart &projectPart);
static ClangBackEnd::FilePaths createExcludedPaths(
@@ -115,6 +121,7 @@ private:
ClangBackEnd::ProjectManagementServerInterface &m_server;
ClangBackEnd::FilePathCachingInterface &m_filePathCache;
ClangBackEnd::ProjectPartsStorageInterface &m_projectPartsStorage;
+ ClangIndexingSettingsManager &m_settingsManager;
};
} // namespace ClangPchManager