[Cmake-commits] CMake branch, next, updated. v3.3.0-rc4-1270-g9a35857

Stephen Kelly steveire at gmail.com
Wed Jul 22 14:35:33 EDT 2015


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  9a358574ac2d51f0267c38323ee89afdc680de5e (commit)
       via  8d336875b3cea99e5c458d3e299d8caf8bc84b75 (commit)
       via  514a1dff5b532c94dca2f77ed6d8742f45c48ddc (commit)
       via  c7b39d06f9b1b5843682f52992634c8dad22aece (commit)
       via  b2de25adeda1c37c8d626432df25fce7cd2ab032 (commit)
       via  d6239507b2f08bd1fee53c84af3998a14fa9819b (commit)
       via  ef17bbefd7c504af65f2e6c52f5d7fa8e82d087e (commit)
       via  a89c02ce3d53aa6459a3d76d9f5c0573da88ceb3 (commit)
       via  b19587e7d7ff90a25d1a75fc987d911d966d77f6 (commit)
      from  9cb0ac12b1610ade11259d1787342319a3f9b375 (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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9a358574ac2d51f0267c38323ee89afdc680de5e
commit 9a358574ac2d51f0267c38323ee89afdc680de5e
Merge: 9cb0ac1 8d33687
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jul 22 14:35:31 2015 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jul 22 14:35:31 2015 -0400

    Merge topic 'cmRange-API' into next
    
    8d336875 cmMakefile: Use Ranges for buildsystem property access.
    514a1dff cmAlgorithms: Add some convenient typedefs.
    c7b39d06 cmMakefile: Split accessors for include directories and origins.
    b2de25ad cmMakefile: Split accessors for compile options and origins.
    d6239507 cmMakefile: Split accessors for compile definitions and origins.
    ef17bbef cmMakefile: Separate storage of buildsystem properties and their origins.
    a89c02ce cmMakefile: Out of line some API.
    b19587e7 cmMakefile: Remove some references from APIs.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8d336875b3cea99e5c458d3e299d8caf8bc84b75
commit 8d336875b3cea99e5c458d3e299d8caf8bc84b75
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jul 18 10:52:09 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jul 22 20:25:48 2015 +0200

    cmMakefile: Use Ranges for buildsystem property access.
    
    Don't return vector copies.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 2c5ed4f..40a8586 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1417,9 +1417,9 @@ void cmGlobalGenerator::FinalizeTargetCompileInfo()
     {
     cmMakefile *mf = this->LocalGenerators[i]->GetMakefile();
 
-    const std::vector<std::string> noconfig_compile_definitions =
+    const cmStringRange noconfig_compile_definitions =
                                 mf->GetCompileDefinitionsEntries();
-    const std::vector<cmListFileBacktrace> noconfig_compile_definitions_bts =
+    const cmBacktraceRange noconfig_compile_definitions_bts =
                                 mf->GetCompileDefinitionsBacktraces();
 
     cmTargets& targets = mf->GetTargets();
@@ -1435,9 +1435,9 @@ void cmGlobalGenerator::FinalizeTargetCompileInfo()
         continue;
         }
 
-      std::vector<cmListFileBacktrace>::const_iterator btIt
+      cmBacktraceRange::const_iterator btIt
           = noconfig_compile_definitions_bts.begin();
-      for (std::vector<std::string>::const_iterator it
+      for (cmStringRange::const_iterator it
                                       = noconfig_compile_definitions.begin();
           it != noconfig_compile_definitions.end(); ++it, ++btIt)
         {
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 58d9d73..81c8831 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -273,38 +273,34 @@ void cmMakefile::IssueMessage(cmake::MessageType t,
     }
 }
 
-std::vector<std::string> cmMakefile::GetIncludeDirectoriesEntries() const
+cmStringRange cmMakefile::GetIncludeDirectoriesEntries() const
 {
-  return this->IncludeDirectoriesEntries;
+  return cmMakeRange(this->IncludeDirectoriesEntries);
 }
 
-std::vector<cmListFileBacktrace>
-cmMakefile::GetIncludeDirectoriesBacktraces() const
+cmBacktraceRange cmMakefile::GetIncludeDirectoriesBacktraces() const
 {
-  return this->IncludeDirectoriesEntryBacktraces;
+  return cmMakeRange(this->IncludeDirectoriesEntryBacktraces);
 }
 
-
-std::vector<std::string> cmMakefile::GetCompileOptionsEntries() const
+cmStringRange cmMakefile::GetCompileOptionsEntries() const
 {
-  return this->CompileOptionsEntries;
+  return cmMakeRange(this->CompileOptionsEntries);
 }
 
-std::vector<cmListFileBacktrace>
-cmMakefile::GetCompileOptionsBacktraces() const
+cmBacktraceRange cmMakefile::GetCompileOptionsBacktraces() const
 {
-  return this->CompileOptionsEntryBacktraces;
+  return cmMakeRange(this->CompileOptionsEntryBacktraces);
 }
 
-std::vector<std::string> cmMakefile::GetCompileDefinitionsEntries() const
+cmStringRange cmMakefile::GetCompileDefinitionsEntries() const
 {
-  return this->CompileDefinitionsEntries;
+  return cmMakeRange(this->CompileDefinitionsEntries);
 }
 
-std::vector<cmListFileBacktrace>
-cmMakefile::GetCompileDefinitionsBacktraces() const
+cmBacktraceRange cmMakefile::GetCompileDefinitionsBacktraces() const
 {
-  return this->CompileDefinitionsEntryBacktraces;
+  return cmMakeRange(this->CompileDefinitionsEntryBacktraces);
 }
 
 //----------------------------------------------------------------------------
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 8f236af..27911a9 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -22,6 +22,7 @@
 #include "cmExpandedCommandArgument.h"
 #include "cmake.h"
 #include "cmState.h"
+#include "cmAlgorithms.h"
 
 #if defined(CMAKE_BUILD_WITH_CMAKE)
 #include "cmSourceGroup.h"
@@ -746,12 +747,12 @@ public:
   /** Set whether or not to report a CMP0000 violation.  */
   void SetCheckCMP0000(bool b) { this->CheckCMP0000 = b; }
 
-  std::vector<std::string> GetIncludeDirectoriesEntries() const;
-  std::vector<cmListFileBacktrace> GetIncludeDirectoriesBacktraces() const;
-  std::vector<std::string> GetCompileOptionsEntries() const;
-  std::vector<cmListFileBacktrace> GetCompileOptionsBacktraces() const;
-  std::vector<std::string> GetCompileDefinitionsEntries() const;
-  std::vector<cmListFileBacktrace> GetCompileDefinitionsBacktraces() const;
+  cmStringRange GetIncludeDirectoriesEntries() const;
+  cmBacktraceRange GetIncludeDirectoriesBacktraces() const;
+  cmStringRange GetCompileOptionsEntries() const;
+  cmBacktraceRange GetCompileOptionsBacktraces() const;
+  cmStringRange GetCompileDefinitionsEntries() const;
+  cmBacktraceRange GetCompileDefinitionsBacktraces() const;
 
   bool IsConfigured() const { return this->Configured; }
   void SetConfigured(){ this->Configured = true; }
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index ac453e2..22114fd 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -402,14 +402,13 @@ void cmTarget::SetMakefile(cmMakefile* mf)
     {
     // Initialize the INCLUDE_DIRECTORIES property based on the current value
     // of the same directory property:
-    const std::vector<std::string> parentIncludes =
+    const cmStringRange parentIncludes =
         this->Makefile->GetIncludeDirectoriesEntries();
-    const std::vector<cmListFileBacktrace> parentIncludesBts =
+    const cmBacktraceRange parentIncludesBts =
         this->Makefile->GetIncludeDirectoriesBacktraces();
 
-    std::vector<cmListFileBacktrace>::const_iterator btIt =
-        parentIncludesBts.begin();
-    for (std::vector<std::string>::const_iterator it
+    cmBacktraceRange::const_iterator btIt = parentIncludesBts.begin();
+    for (cmStringRange::const_iterator it
                 = parentIncludes.begin();
          it != parentIncludes.end(); ++it, ++btIt)
       {
@@ -421,13 +420,13 @@ void cmTarget::SetMakefile(cmMakefile* mf)
     this->SystemIncludeDirectories.insert(parentSystemIncludes.begin(),
                                           parentSystemIncludes.end());
 
-    const std::vector<std::string> parentOptions =
+    const cmStringRange parentOptions =
                                 this->Makefile->GetCompileOptionsEntries();
-    const std::vector<cmListFileBacktrace> parentOptionsBts =
+    const cmBacktraceRange parentOptionsBts =
                                 this->Makefile->GetCompileOptionsBacktraces();
 
     btIt = parentOptionsBts.begin();
-    for (std::vector<std::string>::const_iterator it
+    for (cmStringRange::const_iterator it
                 = parentOptions.begin();
          it != parentOptions.end(); ++it, ++btIt)
       {

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=514a1dff5b532c94dca2f77ed6d8742f45c48ddc
commit 514a1dff5b532c94dca2f77ed6d8742f45c48ddc
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jul 18 11:09:20 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jul 22 20:25:47 2015 +0200

    cmAlgorithms: Add some convenient typedefs.

diff --git a/Source/cmAlgorithms.h b/Source/cmAlgorithms.h
index a4447ad..e510fcf 100644
--- a/Source/cmAlgorithms.h
+++ b/Source/cmAlgorithms.h
@@ -178,6 +178,12 @@ private:
   const_iterator End;
 };
 
+typedef cmRange<std::vector<std::string>::const_iterator> cmStringRange;
+
+class cmListFileBacktrace;
+typedef
+cmRange<std::vector<cmListFileBacktrace>::const_iterator> cmBacktraceRange;
+
 template<typename Iter1, typename Iter2>
 cmRange<Iter1> cmMakeRange(Iter1 begin, Iter2 end)
 {

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c7b39d06f9b1b5843682f52992634c8dad22aece
commit c7b39d06f9b1b5843682f52992634c8dad22aece
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jul 8 23:35:01 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jul 22 20:25:47 2015 +0200

    cmMakefile: Split accessors for include directories and origins.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 8276faa..58d9d73 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -273,21 +273,18 @@ void cmMakefile::IssueMessage(cmake::MessageType t,
     }
 }
 
-std::vector<cmValueWithOrigin> cmMakefile::GetIncludeDirectoriesEntries() const
+std::vector<std::string> cmMakefile::GetIncludeDirectoriesEntries() const
 {
-  std::vector<cmValueWithOrigin> entries;
-  entries.reserve(this->IncludeDirectoriesEntries.size());
-  std::vector<cmListFileBacktrace>::const_iterator btIt =
-      this->IncludeDirectoriesEntryBacktraces.begin();
-  for(std::vector<std::string>::const_iterator it =
-      this->IncludeDirectoriesEntries.begin();
-      it != this->IncludeDirectoriesEntries.end(); ++it, ++btIt)
-    {
-    entries.push_back(cmValueWithOrigin(*it, *btIt));
-    }
-  return entries;
+  return this->IncludeDirectoriesEntries;
 }
 
+std::vector<cmListFileBacktrace>
+cmMakefile::GetIncludeDirectoriesBacktraces() const
+{
+  return this->IncludeDirectoriesEntryBacktraces;
+}
+
+
 std::vector<std::string> cmMakefile::GetCompileOptionsEntries() const
 {
   return this->CompileOptionsEntries;
@@ -1942,7 +1939,6 @@ void cmMakefile::AddIncludeDirectories(const std::vector<std::string> &incs,
 
   cmListFileBacktrace lfbt = this->GetBacktrace();
   std::string entryString = cmJoin(incs, ";");
-  cmValueWithOrigin entry(entryString, lfbt);
   this->IncludeDirectoriesEntries.insert(position, entryString);
   this->IncludeDirectoriesEntryBacktraces.insert(btPos, lfbt);
 
@@ -1951,7 +1947,7 @@ void cmMakefile::AddIncludeDirectories(const std::vector<std::string> &incs,
        l != this->Targets.end(); ++l)
     {
     cmTarget &t = l->second;
-    t.InsertInclude(entry, before);
+    t.InsertInclude(entryString, lfbt, before);
     }
 }
 
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 9b21608..8f236af 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -746,7 +746,8 @@ public:
   /** Set whether or not to report a CMP0000 violation.  */
   void SetCheckCMP0000(bool b) { this->CheckCMP0000 = b; }
 
-  std::vector<cmValueWithOrigin> GetIncludeDirectoriesEntries() const;
+  std::vector<std::string> GetIncludeDirectoriesEntries() const;
+  std::vector<cmListFileBacktrace> GetIncludeDirectoriesBacktraces() const;
   std::vector<std::string> GetCompileOptionsEntries() const;
   std::vector<cmListFileBacktrace> GetCompileOptionsBacktraces() const;
   std::vector<std::string> GetCompileDefinitionsEntries() const;
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 0aa66cd..ac453e2 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -402,13 +402,18 @@ void cmTarget::SetMakefile(cmMakefile* mf)
     {
     // Initialize the INCLUDE_DIRECTORIES property based on the current value
     // of the same directory property:
-    const std::vector<cmValueWithOrigin> parentIncludes =
-                                this->Makefile->GetIncludeDirectoriesEntries();
+    const std::vector<std::string> parentIncludes =
+        this->Makefile->GetIncludeDirectoriesEntries();
+    const std::vector<cmListFileBacktrace> parentIncludesBts =
+        this->Makefile->GetIncludeDirectoriesBacktraces();
 
-    for (std::vector<cmValueWithOrigin>::const_iterator it
-                = parentIncludes.begin(); it != parentIncludes.end(); ++it)
+    std::vector<cmListFileBacktrace>::const_iterator btIt =
+        parentIncludesBts.begin();
+    for (std::vector<std::string>::const_iterator it
+                = parentIncludes.begin();
+         it != parentIncludes.end(); ++it, ++btIt)
       {
-      this->InsertInclude(*it);
+      this->InsertInclude(*it, *btIt);
       }
     const std::set<std::string> parentSystemIncludes =
                                 this->Makefile->GetSystemIncludeDirectories();
@@ -421,8 +426,7 @@ void cmTarget::SetMakefile(cmMakefile* mf)
     const std::vector<cmListFileBacktrace> parentOptionsBts =
                                 this->Makefile->GetCompileOptionsBacktraces();
 
-    std::vector<cmListFileBacktrace>::const_iterator btIt =
-        parentOptionsBts.begin();
+    btIt = parentOptionsBts.begin();
     for (std::vector<std::string>::const_iterator it
                 = parentOptions.begin();
          it != parentOptions.end(); ++it, ++btIt)
@@ -1931,17 +1935,18 @@ void cmTarget::AppendBuildInterfaceIncludes()
 }
 
 //----------------------------------------------------------------------------
-void cmTarget::InsertInclude(const cmValueWithOrigin &entry,
-                     bool before)
+void cmTarget::InsertInclude(std::string const& entry,
+                             cmListFileBacktrace const& bt,
+                             bool before)
 {
-  cmGeneratorExpression ge(entry.Backtrace);
+  cmGeneratorExpression ge(bt);
 
   std::vector<cmTargetInternals::TargetPropertyEntry*>::iterator position
                 = before ? this->Internal->IncludeDirectoriesEntries.begin()
                          : this->Internal->IncludeDirectoriesEntries.end();
 
   this->Internal->IncludeDirectoriesEntries.insert(position,
-      new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry.Value)));
+      new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry)));
 }
 
 //----------------------------------------------------------------------------
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index ba3bc5a..f9bcb05 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -572,7 +572,8 @@ public:
   std::vector<std::string> GetIncludeDirectories(
                      const std::string& config,
                      const std::string& language) const;
-  void InsertInclude(const cmValueWithOrigin &entry,
+  void InsertInclude(std::string const& entry,
+                     cmListFileBacktrace const& bt,
                      bool before = false);
   void InsertCompileOption(std::string const& entry,
                            cmListFileBacktrace const& bt,
diff --git a/Source/cmTargetIncludeDirectoriesCommand.cxx b/Source/cmTargetIncludeDirectoriesCommand.cxx
index 24500db..7824c89 100644
--- a/Source/cmTargetIncludeDirectoriesCommand.cxx
+++ b/Source/cmTargetIncludeDirectoriesCommand.cxx
@@ -72,8 +72,7 @@ bool cmTargetIncludeDirectoriesCommand
                       bool prepend, bool system)
 {
   cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
-  cmValueWithOrigin entry(this->Join(content), lfbt);
-  tgt->InsertInclude(entry, prepend);
+  tgt->InsertInclude(this->Join(content), lfbt, prepend);
   if (system)
     {
     tgt->AddSystemIncludeDirectories(content);

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b2de25adeda1c37c8d626432df25fce7cd2ab032
commit b2de25adeda1c37c8d626432df25fce7cd2ab032
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jul 8 23:17:16 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jul 22 20:25:46 2015 +0200

    cmMakefile: Split accessors for compile options and origins.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index c705e7d..8276faa 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -288,19 +288,15 @@ std::vector<cmValueWithOrigin> cmMakefile::GetIncludeDirectoriesEntries() const
   return entries;
 }
 
-std::vector<cmValueWithOrigin> cmMakefile::GetCompileOptionsEntries() const
+std::vector<std::string> cmMakefile::GetCompileOptionsEntries() const
 {
-  std::vector<cmValueWithOrigin> entries;
-  entries.reserve(this->CompileOptionsEntries.size());
-  std::vector<cmListFileBacktrace>::const_iterator btIt =
-      this->CompileOptionsEntryBacktraces.begin();
-  for(std::vector<std::string>::const_iterator it =
-      this->CompileOptionsEntries.begin();
-      it != this->CompileOptionsEntries.end(); ++it, ++btIt)
-    {
-    entries.push_back(cmValueWithOrigin(*it, *btIt));
-    }
-  return entries;
+  return this->CompileOptionsEntries;
+}
+
+std::vector<cmListFileBacktrace>
+cmMakefile::GetCompileOptionsBacktraces() const
+{
+  return this->CompileOptionsEntryBacktraces;
 }
 
 std::vector<std::string> cmMakefile::GetCompileDefinitionsEntries() const
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index e69ce1e..9b21608 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -747,7 +747,8 @@ public:
   void SetCheckCMP0000(bool b) { this->CheckCMP0000 = b; }
 
   std::vector<cmValueWithOrigin> GetIncludeDirectoriesEntries() const;
-  std::vector<cmValueWithOrigin> GetCompileOptionsEntries() const;
+  std::vector<std::string> GetCompileOptionsEntries() const;
+  std::vector<cmListFileBacktrace> GetCompileOptionsBacktraces() const;
   std::vector<std::string> GetCompileDefinitionsEntries() const;
   std::vector<cmListFileBacktrace> GetCompileDefinitionsBacktraces() const;
 
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 906517b..0aa66cd 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -416,13 +416,18 @@ void cmTarget::SetMakefile(cmMakefile* mf)
     this->SystemIncludeDirectories.insert(parentSystemIncludes.begin(),
                                           parentSystemIncludes.end());
 
-    const std::vector<cmValueWithOrigin> parentOptions =
+    const std::vector<std::string> parentOptions =
                                 this->Makefile->GetCompileOptionsEntries();
+    const std::vector<cmListFileBacktrace> parentOptionsBts =
+                                this->Makefile->GetCompileOptionsBacktraces();
 
-    for (std::vector<cmValueWithOrigin>::const_iterator it
-                = parentOptions.begin(); it != parentOptions.end(); ++it)
+    std::vector<cmListFileBacktrace>::const_iterator btIt =
+        parentOptionsBts.begin();
+    for (std::vector<std::string>::const_iterator it
+                = parentOptions.begin();
+         it != parentOptions.end(); ++it, ++btIt)
       {
-      this->InsertCompileOption(*it);
+      this->InsertCompileOption(*it, *btIt);
       }
     }
 
@@ -1940,17 +1945,18 @@ void cmTarget::InsertInclude(const cmValueWithOrigin &entry,
 }
 
 //----------------------------------------------------------------------------
-void cmTarget::InsertCompileOption(const cmValueWithOrigin &entry,
-                     bool before)
+void cmTarget::InsertCompileOption(std::string const& entry,
+                                   cmListFileBacktrace const& bt,
+                                   bool before)
 {
-  cmGeneratorExpression ge(entry.Backtrace);
+  cmGeneratorExpression ge(bt);
 
   std::vector<cmTargetInternals::TargetPropertyEntry*>::iterator position
                 = before ? this->Internal->CompileOptionsEntries.begin()
                          : this->Internal->CompileOptionsEntries.end();
 
   this->Internal->CompileOptionsEntries.insert(position,
-      new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry.Value)));
+      new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry)));
 }
 
 //----------------------------------------------------------------------------
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 9c98672..ba3bc5a 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -574,8 +574,9 @@ public:
                      const std::string& language) const;
   void InsertInclude(const cmValueWithOrigin &entry,
                      bool before = false);
-  void InsertCompileOption(const cmValueWithOrigin &entry,
-                     bool before = false);
+  void InsertCompileOption(std::string const& entry,
+                           cmListFileBacktrace const& bt,
+                           bool before = false);
   void InsertCompileDefinition(std::string const& entry,
                                cmListFileBacktrace const& bt);
 
diff --git a/Source/cmTargetCompileOptionsCommand.cxx b/Source/cmTargetCompileOptionsCommand.cxx
index a85153d..8e86f0f 100644
--- a/Source/cmTargetCompileOptionsCommand.cxx
+++ b/Source/cmTargetCompileOptionsCommand.cxx
@@ -50,7 +50,6 @@ bool cmTargetCompileOptionsCommand
                                    bool, bool)
 {
   cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
-  cmValueWithOrigin entry(this->Join(content), lfbt);
-  tgt->InsertCompileOption(entry);
+  tgt->InsertCompileOption(this->Join(content), lfbt);
   return true;
 }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d6239507b2f08bd1fee53c84af3998a14fa9819b
commit d6239507b2f08bd1fee53c84af3998a14fa9819b
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jul 8 23:11:22 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jul 22 20:25:45 2015 +0200

    cmMakefile: Split accessors for compile definitions and origins.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 88ac0bc..2c5ed4f 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1417,8 +1417,10 @@ void cmGlobalGenerator::FinalizeTargetCompileInfo()
     {
     cmMakefile *mf = this->LocalGenerators[i]->GetMakefile();
 
-    const std::vector<cmValueWithOrigin> noconfig_compile_definitions =
+    const std::vector<std::string> noconfig_compile_definitions =
                                 mf->GetCompileDefinitionsEntries();
+    const std::vector<cmListFileBacktrace> noconfig_compile_definitions_bts =
+                                mf->GetCompileDefinitionsBacktraces();
 
     cmTargets& targets = mf->GetTargets();
     for(cmTargets::iterator ti = targets.begin();
@@ -1433,11 +1435,13 @@ void cmGlobalGenerator::FinalizeTargetCompileInfo()
         continue;
         }
 
-      for (std::vector<cmValueWithOrigin>::const_iterator it
+      std::vector<cmListFileBacktrace>::const_iterator btIt
+          = noconfig_compile_definitions_bts.begin();
+      for (std::vector<std::string>::const_iterator it
                                       = noconfig_compile_definitions.begin();
-          it != noconfig_compile_definitions.end(); ++it)
+          it != noconfig_compile_definitions.end(); ++it, ++btIt)
         {
-        t->InsertCompileDefinition(*it);
+        t->InsertCompileDefinition(*it, *btIt);
         }
 
       cmPolicies::PolicyStatus polSt
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index dc8d983..c705e7d 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -303,19 +303,15 @@ std::vector<cmValueWithOrigin> cmMakefile::GetCompileOptionsEntries() const
   return entries;
 }
 
-std::vector<cmValueWithOrigin> cmMakefile::GetCompileDefinitionsEntries() const
+std::vector<std::string> cmMakefile::GetCompileDefinitionsEntries() const
 {
-  std::vector<cmValueWithOrigin> entries;
-  entries.reserve(this->CompileDefinitionsEntries.size());
-  std::vector<cmListFileBacktrace>::const_iterator btIt =
-      this->CompileDefinitionsEntryBacktraces.begin();
-  for(std::vector<std::string>::const_iterator it =
-      this->CompileDefinitionsEntries.begin();
-      it != this->CompileDefinitionsEntries.end(); ++it, ++btIt)
-    {
-    entries.push_back(cmValueWithOrigin(*it, *btIt));
-    }
-  return entries;
+  return this->CompileDefinitionsEntries;
+}
+
+std::vector<cmListFileBacktrace>
+cmMakefile::GetCompileDefinitionsBacktraces() const
+{
+  return this->CompileDefinitionsEntryBacktraces;
 }
 
 //----------------------------------------------------------------------------
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 57dcdb6..e69ce1e 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -748,7 +748,8 @@ public:
 
   std::vector<cmValueWithOrigin> GetIncludeDirectoriesEntries() const;
   std::vector<cmValueWithOrigin> GetCompileOptionsEntries() const;
-  std::vector<cmValueWithOrigin> GetCompileDefinitionsEntries() const;
+  std::vector<std::string> GetCompileDefinitionsEntries() const;
+  std::vector<cmListFileBacktrace> GetCompileDefinitionsBacktraces() const;
 
   bool IsConfigured() const { return this->Configured; }
   void SetConfigured(){ this->Configured = true; }
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index ac39387..906517b 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -1954,12 +1954,13 @@ void cmTarget::InsertCompileOption(const cmValueWithOrigin &entry,
 }
 
 //----------------------------------------------------------------------------
-void cmTarget::InsertCompileDefinition(const cmValueWithOrigin &entry)
+void cmTarget::InsertCompileDefinition(std::string const& entry,
+                                       cmListFileBacktrace const& bt)
 {
-  cmGeneratorExpression ge(entry.Backtrace);
+  cmGeneratorExpression ge(bt);
 
   this->Internal->CompileDefinitionsEntries.push_back(
-      new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry.Value)));
+      new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry)));
 }
 
 //----------------------------------------------------------------------------
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 1920312..9c98672 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -576,7 +576,8 @@ public:
                      bool before = false);
   void InsertCompileOption(const cmValueWithOrigin &entry,
                      bool before = false);
-  void InsertCompileDefinition(const cmValueWithOrigin &entry);
+  void InsertCompileDefinition(std::string const& entry,
+                               cmListFileBacktrace const& bt);
 
   void AppendBuildInterfaceIncludes();
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ef17bbefd7c504af65f2e6c52f5d7fa8e82d087e
commit ef17bbefd7c504af65f2e6c52f5d7fa8e82d087e
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jul 8 00:29:41 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jul 22 20:25:43 2015 +0200

    cmMakefile: Separate storage of buildsystem properties and their origins.
    
    This simplifies some existing and upcoming algorithms.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index d5775fb..dc8d983 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -275,17 +275,47 @@ void cmMakefile::IssueMessage(cmake::MessageType t,
 
 std::vector<cmValueWithOrigin> cmMakefile::GetIncludeDirectoriesEntries() const
 {
-  return this->IncludeDirectoriesEntries;
+  std::vector<cmValueWithOrigin> entries;
+  entries.reserve(this->IncludeDirectoriesEntries.size());
+  std::vector<cmListFileBacktrace>::const_iterator btIt =
+      this->IncludeDirectoriesEntryBacktraces.begin();
+  for(std::vector<std::string>::const_iterator it =
+      this->IncludeDirectoriesEntries.begin();
+      it != this->IncludeDirectoriesEntries.end(); ++it, ++btIt)
+    {
+    entries.push_back(cmValueWithOrigin(*it, *btIt));
+    }
+  return entries;
 }
 
 std::vector<cmValueWithOrigin> cmMakefile::GetCompileOptionsEntries() const
 {
-  return this->CompileOptionsEntries;
+  std::vector<cmValueWithOrigin> entries;
+  entries.reserve(this->CompileOptionsEntries.size());
+  std::vector<cmListFileBacktrace>::const_iterator btIt =
+      this->CompileOptionsEntryBacktraces.begin();
+  for(std::vector<std::string>::const_iterator it =
+      this->CompileOptionsEntries.begin();
+      it != this->CompileOptionsEntries.end(); ++it, ++btIt)
+    {
+    entries.push_back(cmValueWithOrigin(*it, *btIt));
+    }
+  return entries;
 }
 
 std::vector<cmValueWithOrigin> cmMakefile::GetCompileDefinitionsEntries() const
 {
-  return this->CompileDefinitionsEntries;
+  std::vector<cmValueWithOrigin> entries;
+  entries.reserve(this->CompileDefinitionsEntries.size());
+  std::vector<cmListFileBacktrace>::const_iterator btIt =
+      this->CompileDefinitionsEntryBacktraces.begin();
+  for(std::vector<std::string>::const_iterator it =
+      this->CompileDefinitionsEntries.begin();
+      it != this->CompileDefinitionsEntries.end(); ++it, ++btIt)
+    {
+    entries.push_back(cmValueWithOrigin(*it, *btIt));
+    }
+  return entries;
 }
 
 //----------------------------------------------------------------------------
@@ -1542,23 +1572,32 @@ void cmMakefile::InitializeFromParent(cmMakefile* parent)
   this->AddDefinition("CMAKE_CURRENT_BINARY_DIR",
                       this->GetCurrentBinaryDirectory());
 
-  const std::vector<cmValueWithOrigin>& parentIncludes =
-                                        parent->GetIncludeDirectoriesEntries();
-  this->IncludeDirectoriesEntries.insert(this->IncludeDirectoriesEntries.end(),
-                                         parentIncludes.begin(),
-                                         parentIncludes.end());
-
-  const std::vector<cmValueWithOrigin>& parentOptions =
-                                        parent->GetCompileOptionsEntries();
-  this->CompileOptionsEntries.insert(this->CompileOptionsEntries.end(),
-                                     parentOptions.begin(),
-                                     parentOptions.end());
-
-  const std::vector<cmValueWithOrigin>& parentDefines =
-                                      parent->GetCompileDefinitionsEntries();
-  this->CompileDefinitionsEntries.insert(this->CompileDefinitionsEntries.end(),
-                                         parentDefines.begin(),
-                                         parentDefines.end());
+  this->IncludeDirectoriesEntries.insert(
+        this->IncludeDirectoriesEntries.end(),
+        parent->IncludeDirectoriesEntries.begin(),
+        parent->IncludeDirectoriesEntries.end());
+  this->IncludeDirectoriesEntryBacktraces.insert(
+        this->IncludeDirectoriesEntryBacktraces.end(),
+        parent->IncludeDirectoriesEntryBacktraces.begin(),
+        parent->IncludeDirectoriesEntryBacktraces.end());
+
+  this->CompileOptionsEntries.insert(
+        this->CompileOptionsEntries.end(),
+        parent->CompileOptionsEntries.begin(),
+        parent->CompileOptionsEntries.end());
+  this->CompileOptionsEntryBacktraces.insert(
+        this->CompileOptionsEntryBacktraces.end(),
+        parent->CompileOptionsEntryBacktraces.begin(),
+        parent->CompileOptionsEntryBacktraces.end());
+
+  this->CompileDefinitionsEntries.insert(
+        this->CompileDefinitionsEntries.end(),
+        parent->CompileDefinitionsEntries.begin(),
+        parent->CompileDefinitionsEntries.end());
+  this->CompileDefinitionsEntryBacktraces.insert(
+        this->CompileDefinitionsEntryBacktraces.end(),
+        parent->CompileDefinitionsEntryBacktraces.begin(),
+        parent->CompileDefinitionsEntryBacktraces.end());
 
   this->SystemIncludeDirectories = parent->SystemIncludeDirectories;
 
@@ -1902,13 +1941,18 @@ void cmMakefile::AddIncludeDirectories(const std::vector<std::string> &incs,
     return;
     }
 
-  std::vector<cmValueWithOrigin>::iterator position =
+  std::vector<std::string>::iterator position =
                               before ? this->IncludeDirectoriesEntries.begin()
                                     : this->IncludeDirectoriesEntries.end();
+  std::vector<cmListFileBacktrace>::iterator btPos =
+      this->IncludeDirectoriesEntryBacktraces.begin()
+      + std::distance(this->IncludeDirectoriesEntries.begin(), position);
 
   cmListFileBacktrace lfbt = this->GetBacktrace();
-  cmValueWithOrigin entry(cmJoin(incs, ";"), lfbt);
-  this->IncludeDirectoriesEntries.insert(position, entry);
+  std::string entryString = cmJoin(incs, ";");
+  cmValueWithOrigin entry(entryString, lfbt);
+  this->IncludeDirectoriesEntries.insert(position, entryString);
+  this->IncludeDirectoriesEntryBacktraces.insert(btPos, lfbt);
 
   // Property on each target:
   for (cmTargets::iterator l = this->Targets.begin();
@@ -4135,36 +4179,40 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value)
   if (prop == "INCLUDE_DIRECTORIES")
     {
     this->IncludeDirectoriesEntries.clear();
+    this->IncludeDirectoriesEntryBacktraces.clear();
     if (!value)
       {
       return;
       }
     cmListFileBacktrace lfbt = this->GetBacktrace();
-    this->IncludeDirectoriesEntries.push_back(
-                                        cmValueWithOrigin(value, lfbt));
+    this->IncludeDirectoriesEntries.push_back(value);
+    this->IncludeDirectoriesEntryBacktraces.push_back(lfbt);
     return;
     }
   if (prop == "COMPILE_OPTIONS")
     {
     this->CompileOptionsEntries.clear();
+    this->CompileDefinitionsEntryBacktraces.clear();
     if (!value)
       {
       return;
       }
     cmListFileBacktrace lfbt = this->GetBacktrace();
-    this->CompileOptionsEntries.push_back(cmValueWithOrigin(value, lfbt));
+    this->CompileOptionsEntries.push_back(value);
+    this->CompileOptionsEntryBacktraces.push_back(lfbt);
     return;
     }
   if (prop == "COMPILE_DEFINITIONS")
     {
     this->CompileDefinitionsEntries.clear();
+    this->CompileDefinitionsEntryBacktraces.clear();
     if (!value)
       {
       return;
       }
     cmListFileBacktrace lfbt = this->GetBacktrace();
-    cmValueWithOrigin entry(value, lfbt);
-    this->CompileDefinitionsEntries.push_back(entry);
+    this->CompileDefinitionsEntries.push_back(value);
+    this->CompileDefinitionsEntryBacktraces.push_back(lfbt);
     return;
     }
 
@@ -4178,22 +4226,22 @@ void cmMakefile::AppendProperty(const std::string& prop,
   if (prop == "INCLUDE_DIRECTORIES")
     {
     cmListFileBacktrace lfbt = this->GetBacktrace();
-    this->IncludeDirectoriesEntries.push_back(
-                                        cmValueWithOrigin(value, lfbt));
+    this->IncludeDirectoriesEntries.push_back(value);
+    this->IncludeDirectoriesEntryBacktraces.push_back(lfbt);
     return;
     }
   if (prop == "COMPILE_OPTIONS")
     {
     cmListFileBacktrace lfbt = this->GetBacktrace();
-    this->CompileOptionsEntries.push_back(
-                                        cmValueWithOrigin(value, lfbt));
+    this->CompileOptionsEntries.push_back(value);
+    this->CompileOptionsEntryBacktraces.push_back(lfbt);
     return;
     }
   if (prop == "COMPILE_DEFINITIONS")
     {
     cmListFileBacktrace lfbt = this->GetBacktrace();
-    this->CompileDefinitionsEntries.push_back(
-                                        cmValueWithOrigin(value, lfbt));
+    this->CompileDefinitionsEntries.push_back(value);
+    this->CompileDefinitionsEntryBacktraces.push_back(lfbt);
     return;
     }
 
@@ -4248,44 +4296,17 @@ const char *cmMakefile::GetProperty(const std::string& prop,
     }
   else if (prop == "INCLUDE_DIRECTORIES")
     {
-    std::string sep;
-    for (std::vector<cmValueWithOrigin>::const_iterator
-        it = this->IncludeDirectoriesEntries.begin(),
-        end = this->IncludeDirectoriesEntries.end();
-        it != end; ++it)
-      {
-      output += sep;
-      output += it->Value;
-      sep = ";";
-      }
+    output = cmJoin(this->IncludeDirectoriesEntries, ";");
     return output.c_str();
     }
   else if (prop == "COMPILE_OPTIONS")
     {
-    std::string sep;
-    for (std::vector<cmValueWithOrigin>::const_iterator
-        it = this->CompileOptionsEntries.begin(),
-        end = this->CompileOptionsEntries.end();
-        it != end; ++it)
-      {
-      output += sep;
-      output += it->Value;
-      sep = ";";
-      }
+    output = cmJoin(this->CompileOptionsEntries, ";");
     return output.c_str();
     }
   else if (prop == "COMPILE_DEFINITIONS")
     {
-    std::string sep;
-    for (std::vector<cmValueWithOrigin>::const_iterator
-        it = this->CompileDefinitionsEntries.begin(),
-        end = this->CompileDefinitionsEntries.end();
-        it != end; ++it)
-      {
-      output += sep;
-      output += it->Value;
-      sep = ";";
-      }
+    output = cmJoin(this->CompileDefinitionsEntries, ";");
     return output.c_str();
     }
 
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 783658d..57dcdb6 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -842,9 +842,12 @@ protected:
   std::vector<std::string> HeaderFileExtensions;
   std::string DefineFlags;
 
-  std::vector<cmValueWithOrigin> IncludeDirectoriesEntries;
-  std::vector<cmValueWithOrigin> CompileOptionsEntries;
-  std::vector<cmValueWithOrigin> CompileDefinitionsEntries;
+  std::vector<std::string> IncludeDirectoriesEntries;
+  std::vector<cmListFileBacktrace> IncludeDirectoriesEntryBacktraces;
+  std::vector<std::string> CompileOptionsEntries;
+  std::vector<cmListFileBacktrace> CompileOptionsEntryBacktraces;
+  std::vector<std::string> CompileDefinitionsEntries;
+  std::vector<cmListFileBacktrace> CompileDefinitionsEntryBacktraces;
 
   // Track the value of the computed DEFINITIONS property.
   void AddDefineFlag(const char*, std::string&);

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a89c02ce3d53aa6459a3d76d9f5c0573da88ceb3
commit a89c02ce3d53aa6459a3d76d9f5c0573da88ceb3
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jul 8 22:58:30 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jul 22 20:06:23 2015 +0200

    cmMakefile: Out of line some API.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index e4ecd1f..d5775fb 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -273,6 +273,21 @@ void cmMakefile::IssueMessage(cmake::MessageType t,
     }
 }
 
+std::vector<cmValueWithOrigin> cmMakefile::GetIncludeDirectoriesEntries() const
+{
+  return this->IncludeDirectoriesEntries;
+}
+
+std::vector<cmValueWithOrigin> cmMakefile::GetCompileOptionsEntries() const
+{
+  return this->CompileOptionsEntries;
+}
+
+std::vector<cmValueWithOrigin> cmMakefile::GetCompileDefinitionsEntries() const
+{
+  return this->CompileDefinitionsEntries;
+}
+
 //----------------------------------------------------------------------------
 cmListFileBacktrace cmMakefile::GetBacktrace() const
 {
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index d9dd466..783658d 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -746,18 +746,9 @@ public:
   /** Set whether or not to report a CMP0000 violation.  */
   void SetCheckCMP0000(bool b) { this->CheckCMP0000 = b; }
 
-  std::vector<cmValueWithOrigin> GetIncludeDirectoriesEntries() const
-  {
-    return this->IncludeDirectoriesEntries;
-  }
-  std::vector<cmValueWithOrigin> GetCompileOptionsEntries() const
-  {
-    return this->CompileOptionsEntries;
-  }
-  std::vector<cmValueWithOrigin> GetCompileDefinitionsEntries() const
-  {
-    return this->CompileDefinitionsEntries;
-  }
+  std::vector<cmValueWithOrigin> GetIncludeDirectoriesEntries() const;
+  std::vector<cmValueWithOrigin> GetCompileOptionsEntries() const;
+  std::vector<cmValueWithOrigin> GetCompileDefinitionsEntries() const;
 
   bool IsConfigured() const { return this->Configured; }
   void SetConfigured(){ this->Configured = true; }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b19587e7d7ff90a25d1a75fc987d911d966d77f6
commit b19587e7d7ff90a25d1a75fc987d911d966d77f6
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jul 8 22:57:54 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jul 22 20:06:22 2015 +0200

    cmMakefile: Remove some references from APIs.

diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 2fc4d78..d9dd466 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -746,15 +746,15 @@ public:
   /** Set whether or not to report a CMP0000 violation.  */
   void SetCheckCMP0000(bool b) { this->CheckCMP0000 = b; }
 
-  const std::vector<cmValueWithOrigin>& GetIncludeDirectoriesEntries() const
+  std::vector<cmValueWithOrigin> GetIncludeDirectoriesEntries() const
   {
     return this->IncludeDirectoriesEntries;
   }
-  const std::vector<cmValueWithOrigin>& GetCompileOptionsEntries() const
+  std::vector<cmValueWithOrigin> GetCompileOptionsEntries() const
   {
     return this->CompileOptionsEntries;
   }
-  const std::vector<cmValueWithOrigin>& GetCompileDefinitionsEntries() const
+  std::vector<cmValueWithOrigin> GetCompileDefinitionsEntries() const
   {
     return this->CompileDefinitionsEntries;
   }

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

Summary of changes:
 Source/cmAlgorithms.h                        |    6 ++
 Source/cmGlobalGenerator.cxx                 |   12 ++-
 Source/cmMakefile.cxx                        |  144 +++++++++++++++-----------
 Source/cmMakefile.h                          |   28 +++--
 Source/cmTarget.cxx                          |   51 +++++----
 Source/cmTarget.h                            |   11 +-
 Source/cmTargetCompileOptionsCommand.cxx     |    3 +-
 Source/cmTargetIncludeDirectoriesCommand.cxx |    3 +-
 8 files changed, 149 insertions(+), 109 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list