diff options
author | Marco Bubke <marco.bubke@qt.io> | 2019-05-22 15:08:55 +0200 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2019-06-17 10:46:31 +0000 |
commit | b36e9d0e95f53fdebcf63f79060c0ebff42d0bf2 (patch) | |
tree | f160af9d0cb7248eeaf19534f76c92ed127d1313 /src/tools | |
parent | b213dee0134722fcdcae88efb514e0430fc72959 (diff) |
ClangPchManager: Improve handling of no include in project PCH
We were doing simply nothing but we should call
PchCreator::doInMainThreadAfterFinished().
Change-Id: Ia21d2cf4af53121d9e401f6e9a5b432a4daed00f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/clangpchmanagerbackend/source/pchcreator.cpp | 5 | ||||
-rw-r--r-- | src/tools/clangpchmanagerbackend/source/pchtaskqueue.cpp | 10 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/tools/clangpchmanagerbackend/source/pchcreator.cpp b/src/tools/clangpchmanagerbackend/source/pchcreator.cpp index 9416e310aa..cd7b492868 100644 --- a/src/tools/clangpchmanagerbackend/source/pchcreator.cpp +++ b/src/tools/clangpchmanagerbackend/source/pchcreator.cpp @@ -113,8 +113,11 @@ Utils::SmallStringVector PchCreator::generateClangCompilerArguments(const PchTas void PchCreator::generatePch(PchTask &&pchTask) { m_projectPartPch.projectPartId = pchTask.projectPartId(); - m_projectPartPch.lastModified = QDateTime::currentSecsSinceEpoch(); + + if (pchTask.includes.empty()) + return; + auto content = generatePchIncludeFileContent(pchTask.includes); auto pchOutputPath = generatePchFilePath(); diff --git a/src/tools/clangpchmanagerbackend/source/pchtaskqueue.cpp b/src/tools/clangpchmanagerbackend/source/pchtaskqueue.cpp index 1edbe15806..b9d6a48fe3 100644 --- a/src/tools/clangpchmanagerbackend/source/pchtaskqueue.cpp +++ b/src/tools/clangpchmanagerbackend/source/pchtaskqueue.cpp @@ -33,6 +33,8 @@ #include <utils/algorithm.h> +#include <iostream> + namespace ClangBackEnd { void PchTaskQueue::addPchTasks(PchTasks &&newPchTasks, PchTasks &destination) @@ -145,7 +147,6 @@ std::vector<PchTaskQueue::Task> PchTaskQueue::createProjectTasks(PchTasks &&pchT auto convert = [this](auto &&pchTask) { return [pchTask = std::move(pchTask), this](PchCreatorInterface &pchCreator) mutable { const auto projectPartId = pchTask.projectPartId(); - if (pchTask.includes.size()) { pchTask.systemPchPath = m_precompiledHeaderStorage.fetchSystemPrecompiledHeaderPath( projectPartId); pchTask.preIncludeSearchPath = m_environment.preIncludeSearchPath(); @@ -157,9 +158,6 @@ std::vector<PchTaskQueue::Task> PchTaskQueue::createProjectTasks(PchTasks &&pchT m_precompiledHeaderStorage.insertProjectPrecompiledHeader( projectPartId, projectPartPch.pchPath, projectPartPch.lastModified); } - } else { - m_precompiledHeaderStorage.deleteProjectPrecompiledHeader(projectPartId); - } }; }; @@ -179,7 +177,6 @@ std::vector<PchTaskQueue::Task> PchTaskQueue::createSystemTasks(PchTasks &&pchTa auto convert = [this](auto &&pchTask) { return [pchTask = std::move(pchTask), this](PchCreatorInterface &pchCreator) mutable { const auto projectPartIds = pchTask.projectPartIds; - if (pchTask.includes.size()) { pchTask.preIncludeSearchPath = m_environment.preIncludeSearchPath(); pchCreator.generatePch(std::move(pchTask)); const auto &projectPartPch = pchCreator.projectPartPch(); @@ -189,9 +186,6 @@ std::vector<PchTaskQueue::Task> PchTaskQueue::createSystemTasks(PchTasks &&pchTa m_precompiledHeaderStorage.insertSystemPrecompiledHeaders( projectPartIds, projectPartPch.pchPath, projectPartPch.lastModified); } - } else { - m_precompiledHeaderStorage.deleteSystemPrecompiledHeaders(projectPartIds); - } }; }; |