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, next has been updated
       via  59edc3fb74ca1eb857601c63bb01c682c1a8466b (commit)
       via  cc6b948e5ea86996fe65014ce8f97bf92b46e4c0 (commit)
       via  52052ef88b6f46a12c8430395ae8b419971fcb35 (commit)
       via  3b3622305bb950f16f238f030c8f32786ad3511a (commit)
      from  905f5f00754d5e3e632b829e4f4f2e4db6f64f52 (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=59edc3fb74ca1eb857601c63bb01c682c1a8466b
commit 59edc3fb74ca1eb857601c63bb01c682c1a8466b
Merge: 905f5f0 cc6b948
Author:     Daniel Pfeifer <dan...@pfeifer-mail.de>
AuthorDate: Thu Sep 8 17:55:06 2016 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Thu Sep 8 17:55:06 2016 -0400

    Merge topic 'cmGeneratorTarget-cleanup' into next
    
    cc6b948e cmGeneratorTarget: factor out common part of AddSources commands
    52052ef8 cmGeneratorTarget: use erase-unique instead of reinitialization
    3b362230 cmGeneratorTarget: don't clear container in destructor


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cc6b948e5ea86996fe65014ce8f97bf92b46e4c0
commit cc6b948e5ea86996fe65014ce8f97bf92b46e4c0
Author:     Daniel Pfeifer <dan...@pfeifer-mail.de>
AuthorDate: Wed Sep 7 21:14:29 2016 +0200
Commit:     Daniel Pfeifer <dan...@pfeifer-mail.de>
CommitDate: Thu Sep 8 23:47:16 2016 +0200

    cmGeneratorTarget: factor out common part of AddSources commands

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 4baec03..7dd8e7f 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -468,9 +468,8 @@ std::string cmGeneratorTarget::GetOutputName(const 
std::string& config,
   return i->second;
 }
 
-void cmGeneratorTarget::AddSource(const std::string& src)
+void cmGeneratorTarget::AddSourceCommon(const std::string& src)
 {
-  this->Target->AddSource(src);
   cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
   cmGeneratorExpression ge(lfbt);
   CM_AUTO_PTR<cmCompiledGeneratorExpression> cge = ge.Parse(src);
@@ -480,19 +479,17 @@ void cmGeneratorTarget::AddSource(const std::string& src)
   this->LinkImplementationLanguageIsContextDependent = true;
 }
 
+void cmGeneratorTarget::AddSource(const std::string& src)
+{
+  this->Target->AddSource(src);
+  this->AddSourceCommon(src);
+}
+
 void cmGeneratorTarget::AddTracedSources(std::vector<std::string> const& srcs)
 {
   this->Target->AddTracedSources(srcs);
   if (!srcs.empty()) {
-    std::string srcFiles = cmJoin(srcs, ";");
-    this->SourceFilesMap.clear();
-    this->LinkImplementationLanguageIsContextDependent = true;
-    cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
-    cmGeneratorExpression ge(lfbt);
-    CM_AUTO_PTR<cmCompiledGeneratorExpression> cge = ge.Parse(srcFiles);
-    cge->SetEvaluateForBuildsystem(true);
-    this->SourceEntries.push_back(
-      new cmGeneratorTarget::TargetPropertyEntry(cge));
+    this->AddSourceCommon(cmJoin(srcs, ";"));
   }
 }
 
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 173f15d..715220e 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -540,6 +540,8 @@ public:
   std::string GetFortranModuleDirectory() const;
 
 private:
+  void AddSourceCommon(const std::string& src);
+
   std::string CreateFortranModuleDirectory() const;
   mutable bool FortranModuleDirectoryCreated;
   mutable std::string FortranModuleDirectory;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=52052ef88b6f46a12c8430395ae8b419971fcb35
commit 52052ef88b6f46a12c8430395ae8b419971fcb35
Author:     Daniel Pfeifer <dan...@pfeifer-mail.de>
AuthorDate: Wed Sep 7 21:03:18 2016 +0200
Commit:     Daniel Pfeifer <dan...@pfeifer-mail.de>
CommitDate: Thu Sep 8 23:46:45 2016 +0200

    cmGeneratorTarget: use erase-unique instead of reinitialization
    
    Just to make it easier to find places where containers are cleared in
    order to be recomputed.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 25917f8..4baec03 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -839,14 +839,10 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(
                               &dagChecker, result, excludeImported);
     }
 
-    std::set<std::string> unique;
-    for (std::vector<std::string>::iterator li = result.begin();
-         li != result.end(); ++li) {
-      cmSystemTools::ConvertToUnixSlashes(*li);
-      unique.insert(*li);
-    }
-    result.clear();
-    result.insert(result.end(), unique.begin(), unique.end());
+    std::for_each(result.begin(), result.end(),
+                  cmSystemTools::ConvertToUnixSlashes);
+    std::sort(result.begin(), result.end());
+    result.erase(std::unique(result.begin(), result.end()), result.end());
 
     IncludeCacheType::value_type entry(config_upper, result);
     iter = this->SystemIncludesCache.insert(entry).first;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3b3622305bb950f16f238f030c8f32786ad3511a
commit 3b3622305bb950f16f238f030c8f32786ad3511a
Author:     Daniel Pfeifer <dan...@pfeifer-mail.de>
AuthorDate: Wed Sep 7 20:40:18 2016 +0200
Commit:     Daniel Pfeifer <dan...@pfeifer-mail.de>
CommitDate: Thu Sep 8 23:46:18 2016 +0200

    cmGeneratorTarget: don't clear container in destructor
    
    It will be destroyed anyway.  This also makes it easier to search for
    places where containers are atually cleared in order to be recomputed.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index ee2907c..25917f8 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -327,7 +327,6 @@ cmGeneratorTarget::~cmGeneratorTarget()
   cmDeleteAll(this->CompileDefinitionsEntries);
   cmDeleteAll(this->SourceEntries);
   cmDeleteAll(this->LinkInformation);
-  this->LinkInformation.clear();
 }
 
 cmLocalGenerator* cmGeneratorTarget::GetLocalGenerator() const

-----------------------------------------------------------------------

Summary of changes:
 Source/cmGeneratorTarget.cxx |   32 ++++++++++++--------------------
 Source/cmGeneratorTarget.h   |    2 ++
 2 files changed, 14 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to