Browse Source

cmMakefile: Split accessors for compile definitions and origins.

Stephen Kelly 10 years ago
parent
commit
d6239507b2
5 changed files with 24 additions and 21 deletions
  1. 8 4
      Source/cmGlobalGenerator.cxx
  2. 8 12
      Source/cmMakefile.cxx
  3. 2 1
      Source/cmMakefile.h
  4. 4 3
      Source/cmTarget.cxx
  5. 2 1
      Source/cmTarget.h

+ 8 - 4
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

+ 8 - 12
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;
 }
 
 //----------------------------------------------------------------------------

+ 2 - 1
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; }

+ 4 - 3
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)));
 }
 
 //----------------------------------------------------------------------------

+ 2 - 1
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();