Bladeren bron

Cleanup cmGlobalGenerator::GetTargetSets method

This commit cleans up the declaration, definition, and invocations of
the GetTargetSets method and related code.  There is no change in
function except to make the method virtual.
Brad King 16 jaren geleden
bovenliggende
commit
c8ddb6813b

+ 13 - 18
Source/cmGlobalGenerator.cxx

@@ -1931,12 +1931,11 @@ cmGlobalGenerator
     std::back_inserter(filenames));
 }
 
-void
-cmGlobalGenerator
-::GetTargetSets(cmGlobalGenerator::TargetDependSet& projectTargets,
-                cmGlobalGenerator::TargetDependSet& originalTargets,
-                cmLocalGenerator* root,
-                std::vector<cmLocalGenerator*> const& generators)
+//----------------------------------------------------------------------------
+void cmGlobalGenerator::GetTargetSets(TargetDependSet& projectTargets,
+                                      TargetDependSet& originalTargets,
+                                      cmLocalGenerator* root,
+                                      GeneratorVector const& generators)
 {
   // loop over all local generators
   for(std::vector<cmLocalGenerator*>::const_iterator i = generators.begin();
@@ -1949,7 +1948,7 @@ cmGlobalGenerator
       }
     cmMakefile* mf = (*i)->GetMakefile();
     // Get the targets in the makefile
-    cmTargets &tgts = mf->GetTargets();  
+    cmTargets &tgts = mf->GetTargets();
     // loop over all the targets
     for (cmTargets::iterator l = tgts.begin(); l != tgts.end(); ++l)
       {
@@ -1957,26 +1956,22 @@ cmGlobalGenerator
       // put the target in the set of original targets
       originalTargets.insert(target);
       // Get the set of targets that depend on target
-      this->AddTargetDepends(target,
-                             projectTargets);
+      this->AddTargetDepends(target, projectTargets);
       }
     }
 }
-                
-void
-cmGlobalGenerator::AddTargetDepends(cmTarget* target,
-                                    cmGlobalGenerator::TargetDependSet&
-                                    projectTargets)
+
+//----------------------------------------------------------------------------
+void cmGlobalGenerator::AddTargetDepends(cmTarget* target,
+                                         TargetDependSet& projectTargets)
 {
   // add the target itself
   if(projectTargets.insert(target).second)
     {
     // This is the first time we have encountered the target.
     // Recursively follow its dependencies.
-    cmGlobalGenerator::TargetDependSet const& tset
-      = this->GetTargetDirectDepends(*target);
-    for(cmGlobalGenerator::TargetDependSet::const_iterator i =
-          tset.begin(); i != tset.end(); ++i)
+    TargetDependSet const& ts = this->GetTargetDirectDepends(*target);
+    for(TargetDependSet::const_iterator i = ts.begin(); i != ts.end(); ++i)
       {
       cmTarget* dtarget = *i;
       this->AddTargetDepends(dtarget, projectTargets);

+ 5 - 7
Source/cmGlobalGenerator.h

@@ -259,15 +259,13 @@ public:
   virtual void CreateGUID(const char*) {}
 
 protected:
+  typedef std::vector<cmLocalGenerator*> GeneratorVector;
   // for a project collect all its targets by following depend
   // information, and also collect all the targets
-  void GetTargetSets(cmGlobalGenerator::TargetDependSet& projectTargets,
-                     cmGlobalGenerator::TargetDependSet& originalTargets,
-                     cmLocalGenerator* root,
-                     std::vector<cmLocalGenerator*> const& generators);
-  void AddTargetDepends(cmTarget* target,
-                        cmGlobalGenerator::TargetDependSet&
-                        projectTargets);
+  virtual void GetTargetSets(TargetDependSet& projectTargets,
+                             TargetDependSet& originalTargets,
+                             cmLocalGenerator* root, GeneratorVector const&);
+  void AddTargetDepends(cmTarget* target, TargetDependSet& projectTargets);
   void SetLanguageEnabledFlag(const char* l, cmMakefile* mf);
   void SetLanguageEnabledMaps(const char* l, cmMakefile* mf);
   void FillExtensionToLanguageMap(const char* l, cmMakefile* mf);

+ 3 - 5
Source/cmGlobalVisualStudio6Generator.cxx

@@ -189,11 +189,9 @@ void cmGlobalVisualStudio6Generator
 
   // Collect all targets under this root generator and the transitive
   // closure of their dependencies.
-  cmGlobalGenerator::TargetDependSet projectTargets;
-  cmGlobalGenerator::TargetDependSet originalTargets;
-  this->GetTargetSets(projectTargets,
-                      originalTargets,
-                      root, generators);
+  TargetDependSet projectTargets;
+  TargetDependSet originalTargets;
+  this->GetTargetSets(projectTargets, originalTargets, root, generators);
   OrderedTargetDependSet orderedProjectTargets(projectTargets);
 
   std::string rootdir = root->GetMakefile()->GetStartOutputDirectory();

+ 7 - 10
Source/cmGlobalVisualStudio71Generator.cxx

@@ -100,17 +100,14 @@ void cmGlobalVisualStudio71Generator
 { 
   // Write out the header for a SLN file
   this->WriteSLNHeader(fout);
-  
-  // collect the set of targets for this project by 
-  // tracing depends of all targets.
-  // also collect the set of targets that are explicitly
-  // in this project. 
-  cmGlobalGenerator::TargetDependSet projectTargets;
-  cmGlobalGenerator::TargetDependSet originalTargets;
-  this->GetTargetSets(projectTargets,
-                      originalTargets,
-                      root, generators);
+
+  // Collect all targets under this root generator and the transitive
+  // closure of their dependencies.
+  TargetDependSet projectTargets;
+  TargetDependSet originalTargets;
+  this->GetTargetSets(projectTargets, originalTargets, root, generators);
   OrderedTargetDependSet orderedProjectTargets(projectTargets);
+
   this->WriteTargetsToSolution(fout, root, orderedProjectTargets);
   // Write out the configurations information for the solution
   fout << "Global\n";

+ 7 - 10
Source/cmGlobalVisualStudio7Generator.cxx

@@ -352,17 +352,14 @@ void cmGlobalVisualStudio7Generator
 {
   // Write out the header for a SLN file
   this->WriteSLNHeader(fout);
-  
-   // collect the set of targets for this project by 
-  // tracing depends of all targets.
-  // also collect the set of targets that are explicitly
-  // in this project. 
-  cmGlobalGenerator::TargetDependSet projectTargets;
-  cmGlobalGenerator::TargetDependSet originalTargets;
-  this->GetTargetSets(projectTargets,
-                      originalTargets,
-                      root, generators);
+
+  // Collect all targets under this root generator and the transitive
+  // closure of their dependencies.
+  TargetDependSet projectTargets;
+  TargetDependSet originalTargets;
+  this->GetTargetSets(projectTargets, originalTargets, root, generators);
   OrderedTargetDependSet orderedProjectTargets(projectTargets);
+
   this->WriteTargetsToSolution(fout, root, orderedProjectTargets);
   // Write out the configurations information for the solution
   fout << "Global\n"