This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, master has been updated via 17c5b32dc296101e51c2633d96931f867b03970d (commit) via 15163c92349d39f5d0f97578f62e1d1d0194c60b (commit) via 71e677392bb15b1ed87e98b75d19122cdc249c77 (commit) via 8d0cec747cfbad582119c590efc8c390b6f2bbc0 (commit) from 3d1fb997e5322d6b6e7c4b0b467792995428ebb7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=17c5b32dc296101e51c2633d96931f867b03970d commit 17c5b32dc296101e51c2633d96931f867b03970d Merge: 15163c9 8d0cec7 Author: Brad King <brad.k...@kitware.com> AuthorDate: Mon Sep 23 14:52:46 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Mon Sep 23 10:53:12 2019 -0400 Merge topic 'smart_ptr/cmDependsC' 8d0cec747c cmDependsC: remove cmDeleteAll call Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3842 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=15163c92349d39f5d0f97578f62e1d1d0194c60b commit 15163c92349d39f5d0f97578f62e1d1d0194c60b Merge: 3d1fb99 71e6773 Author: Brad King <brad.k...@kitware.com> AuthorDate: Mon Sep 23 14:51:40 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Mon Sep 23 10:51:55 2019 -0400 Merge topic 'object-library-sources' 71e677392b Do not collect objects from dependencies of object libraries Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3843 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=71e677392bb15b1ed87e98b75d19122cdc249c77 commit 71e677392bb15b1ed87e98b75d19122cdc249c77 Author: Brad King <brad.k...@kitware.com> AuthorDate: Fri Sep 20 12:02:47 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Sep 20 12:48:46 2019 -0400 Do not collect objects from dependencies of object libraries Object libraries do not link and therefore do not need to consider the object files from "linked" dependencies on other object libraries. This was an oversight in commit 57538224d0 (objlib: Link object-files from `OBJECT` libraries, 2017-12-14, v3.12.0-rc1~419^2~2). Fixes: #19744 Inspired-by: Julien Finet <julien.fi...@kitware.com> diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 18ca478..8e3db2b 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -1454,11 +1454,14 @@ std::vector<BT<std::string>> cmGeneratorTarget::GetSourceFilePaths( this, linkInterfaceSourcesEntries, files, uniqueSrcs, debugSources); // Collect TARGET_OBJECTS of direct object link-dependencies. - std::vector<EvaluatedTargetPropertyEntry> linkObjectsEntries; - AddObjectEntries(this, config, &dagChecker, linkObjectsEntries); + bool contextDependentObjects = false; std::vector<std::string>::size_type numFilesBefore2 = files.size(); - bool contextDependentObjects = - processSources(this, linkObjectsEntries, files, uniqueSrcs, debugSources); + if (this->GetType() != cmStateEnums::OBJECT_LIBRARY) { + std::vector<EvaluatedTargetPropertyEntry> linkObjectsEntries; + AddObjectEntries(this, config, &dagChecker, linkObjectsEntries); + contextDependentObjects = processSources(this, linkObjectsEntries, files, + uniqueSrcs, debugSources); + } if (!contextDependentDirectSources && !(contextDependentInterfaceSources && numFilesBefore < files.size()) && https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8d0cec747cfbad582119c590efc8c390b6f2bbc0 commit 8d0cec747cfbad582119c590efc8c390b6f2bbc0 Author: Tushar Maheshwari <tushar27...@gmail.com> AuthorDate: Sun Sep 8 16:20:06 2019 +0530 Commit: Tushar Maheshwari <tushar27...@gmail.com> CommitDate: Fri Sep 20 20:39:43 2019 +0530 cmDependsC: remove cmDeleteAll call diff --git a/Source/cmDependsC.cxx b/Source/cmDependsC.cxx index a380b41..012a0b1 100644 --- a/Source/cmDependsC.cxx +++ b/Source/cmDependsC.cxx @@ -5,7 +5,6 @@ #include "cmsys/FStream.hxx" #include <utility> -#include "cmAlgorithms.h" #include "cmFileTime.h" #include "cmLocalGenerator.h" #include "cmMakefile.h" @@ -67,7 +66,6 @@ cmDependsC::cmDependsC(cmLocalGenerator* lg, const std::string& targetDir, cmDependsC::~cmDependsC() { this->WriteCacheFile(); - cmDeleteAll(this->FileCache); } bool cmDependsC::WriteDependencies(const std::set<std::string>& sources, @@ -172,9 +170,9 @@ bool cmDependsC::WriteDependencies(const std::set<std::string>& sources, // Check whether this file is already in the cache auto fileIt = this->FileCache.find(fullName); if (fileIt != this->FileCache.end()) { - fileIt->second->Used = true; + fileIt->second.Used = true; dependencies.insert(fullName); - for (UnscannedEntry const& inc : fileIt->second->UnscannedEntries) { + for (UnscannedEntry const& inc : fileIt->second.UnscannedEntries) { if (this->Encountered.find(inc.FileName) == this->Encountered.end()) { this->Encountered.insert(inc.FileName); @@ -260,8 +258,7 @@ void cmDependsC::ReadCacheFile() if (res && newer) // cache is newer than the parsed file { - cacheEntry = new cmIncludeLines; - this->FileCache[line] = cacheEntry; + cacheEntry = &this->FileCache[line]; } // file doesn't exist, check that the regular expressions // haven't changed @@ -313,10 +310,10 @@ void cmDependsC::WriteCacheFile() const cacheOut << this->IncludeRegexTransformString << "\n\n"; for (auto const& fileIt : this->FileCache) { - if (fileIt.second->Used) { + if (fileIt.second.Used) { cacheOut << fileIt.first << std::endl; - for (UnscannedEntry const& inc : fileIt.second->UnscannedEntries) { + for (UnscannedEntry const& inc : fileIt.second.UnscannedEntries) { cacheOut << inc.FileName << std::endl; if (inc.QuotedLocation.empty()) { cacheOut << "-" << std::endl; @@ -332,9 +329,8 @@ void cmDependsC::WriteCacheFile() const void cmDependsC::Scan(std::istream& is, const std::string& directory, const std::string& fullName) { - cmIncludeLines* newCacheEntry = new cmIncludeLines; - newCacheEntry->Used = true; - this->FileCache[fullName] = newCacheEntry; + cmIncludeLines& newCacheEntry = this->FileCache[fullName]; + newCacheEntry.Used = true; // Read one line at a time. std::string line; @@ -370,7 +366,7 @@ void cmDependsC::Scan(std::istream& is, const std::string& directory, // This kind of problem will be fixed when a more // preprocessor-like implementation of this scanner is created. if (this->IncludeRegexScan.find(entry.FileName)) { - newCacheEntry->UnscannedEntries.push_back(entry); + newCacheEntry.UnscannedEntries.push_back(entry); if (this->Encountered.find(entry.FileName) == this->Encountered.end()) { this->Encountered.insert(entry.FileName); diff --git a/Source/cmDependsC.h b/Source/cmDependsC.h index cbdc276..7d732d9 100644 --- a/Source/cmDependsC.h +++ b/Source/cmDependsC.h @@ -84,7 +84,7 @@ protected: std::set<std::string> Encountered; std::queue<UnscannedEntry> Unscanned; - std::map<std::string, cmIncludeLines*> FileCache; + std::map<std::string, cmIncludeLines> FileCache; std::map<std::string, std::string> HeaderLocationCache; std::string CacheFileName; ----------------------------------------------------------------------- Summary of changes: Source/cmDependsC.cxx | 20 ++++++++------------ Source/cmDependsC.h | 2 +- Source/cmGeneratorTarget.cxx | 11 +++++++---- 3 files changed, 16 insertions(+), 17 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org https://cmake.org/mailman/listinfo/cmake-commits