diff options
author | Marco Bubke <marco.bubke@qt.io> | 2019-02-13 13:36:27 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2019-02-18 12:40:58 +0000 |
commit | 716a96a55b1e4583d57d08cc9b511385139ac731 (patch) | |
tree | da0807c9f7e2f2156d297f09310473c55b63ab4f /src/tools/clangpchmanagerbackend | |
parent | 29758d8364f2c805da11dd1288a9720de0a1bc2e (diff) | |
download | qt-creator-716a96a55b1e4583d57d08cc9b511385139ac731.tar.gz |
ClangPchManager: Add dependency building to progress counter
Task-number: QTCREATORBUG-21950
Change-Id: I409b03d53b374c5bf66ba6c7c9e50e98a7b239c4
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/tools/clangpchmanagerbackend')
3 files changed, 18 insertions, 5 deletions
diff --git a/src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp b/src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp index 58d749ec3a..f4afaf9210 100644 --- a/src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp +++ b/src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp @@ -246,8 +246,13 @@ struct Data // because we have a cycle dependency modifiedTimeChecker, buildDependencyCollector, database}; - ClangBackEnd::PchTaskGenerator pchTaskGenerator{buildDependencyProvider, pchTaskMerger}; - PchManagerServer clangPchManagerServer{includeWatcher, pchTaskGenerator, projectParts, generatedFiles}; + ClangBackEnd::PchTaskGenerator pchTaskGenerator{buildDependencyProvider, + pchTaskMerger, + progressCounter}; + PchManagerServer clangPchManagerServer{includeWatcher, + pchTaskGenerator, + projectParts, + generatedFiles}; TaskScheduler systemTaskScheduler{pchCreatorManager, pchTaskQueue, progressCounter, diff --git a/src/tools/clangpchmanagerbackend/source/pchtaskgenerator.cpp b/src/tools/clangpchmanagerbackend/source/pchtaskgenerator.cpp index 82584ad1dd..aab3bfe7d4 100644 --- a/src/tools/clangpchmanagerbackend/source/pchtaskgenerator.cpp +++ b/src/tools/clangpchmanagerbackend/source/pchtaskgenerator.cpp @@ -27,9 +27,10 @@ #include "builddependenciesproviderinterface.h" #include "pchtasksmergerinterface.h" - #include "usedmacrofilter.h" +#include <progresscounter.h> + #include <utils/algorithm.h> namespace ClangBackEnd { @@ -40,6 +41,8 @@ void PchTaskGenerator::addProjectParts(ProjectPartContainers &&projectParts, PchTaskSets pchTaskSets; pchTaskSets.reserve(projectParts.size()); + m_progressCounter.addTotal(static_cast<int>(projectParts.size())); + for (auto &projectPart : projectParts) { BuildDependency buildDependency = m_buildDependenciesProvider.create(projectPart); UsedMacroFilter filter{buildDependency.includes, @@ -68,6 +71,7 @@ void PchTaskGenerator::addProjectParts(ProjectPartContainers &&projectParts, projectPart.language, projectPart.languageVersion, projectPart.languageExtension}); + m_progressCounter.addProgress(1); } m_pchTasksMergerInterface.mergeTasks(std::move(pchTaskSets), std::move(toolChainArguments)); diff --git a/src/tools/clangpchmanagerbackend/source/pchtaskgenerator.h b/src/tools/clangpchmanagerbackend/source/pchtaskgenerator.h index b5669b7b3f..38376ce2a2 100644 --- a/src/tools/clangpchmanagerbackend/source/pchtaskgenerator.h +++ b/src/tools/clangpchmanagerbackend/source/pchtaskgenerator.h @@ -35,14 +35,18 @@ namespace ClangBackEnd { class PchTasksMergerInterface; class BuildDependenciesProviderInterface; +class ProgressCounter; class PchTaskGenerator : public PchTaskGeneratorInterface { public: PchTaskGenerator(BuildDependenciesProviderInterface &buildDependenciesProvider, - PchTasksMergerInterface &pchTasksMergerInterface) + PchTasksMergerInterface &pchTasksMergerInterface, + ProgressCounter &progressCounter) : m_buildDependenciesProvider(buildDependenciesProvider) , m_pchTasksMergerInterface(pchTasksMergerInterface) + , m_progressCounter(progressCounter) + {} void addProjectParts(ProjectPartContainers &&projectParts, @@ -52,7 +56,7 @@ public: private: BuildDependenciesProviderInterface &m_buildDependenciesProvider; PchTasksMergerInterface &m_pchTasksMergerInterface; + ProgressCounter &m_progressCounter; }; - } // namespace ClangBackEnd |