[Cmake-commits] CMake branch, master, updated. v3.15.3-1154-g17c5b32

Kitware Robot kwrobot at kitware.com
Mon Sep 23 11:02:00 EDT 2019


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.king at kitware.com>
AuthorDate: Mon Sep 23 14:52:46 2019 +0000
Commit:     Kitware Robot <kwrobot at 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 <kwrobot at 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.king at kitware.com>
AuthorDate: Mon Sep 23 14:51:40 2019 +0000
Commit:     Kitware Robot <kwrobot at 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 <kwrobot at kitware.com>
    Merge-request: !3843


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=71e677392bb15b1ed87e98b75d19122cdc249c77
commit 71e677392bb15b1ed87e98b75d19122cdc249c77
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Sep 20 12:02:47 2019 -0400
Commit:     Brad King <brad.king at 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.finet at 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 <tushar27192 at gmail.com>
AuthorDate: Sun Sep 8 16:20:06 2019 +0530
Commit:     Tushar Maheshwari <tushar27192 at 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


More information about the Cmake-commits mailing list