summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-10-01 14:26:54 (GMT)
committerBrad King <brad.king@kitware.com>2009-10-01 14:26:54 (GMT)
commitc8ddb6813b5888fa638ed312fca6473028c61aa4 (patch)
tree591d4fbbe946089a522d0b7a43be6698f478effa /Source
parente8cdd54f74851f0cc6f1fa544f48304e415ad91d (diff)
downloadCMake-c8ddb6813b5888fa638ed312fca6473028c61aa4.zip
CMake-c8ddb6813b5888fa638ed312fca6473028c61aa4.tar.gz
CMake-c8ddb6813b5888fa638ed312fca6473028c61aa4.tar.bz2
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.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalGenerator.cxx31
-rw-r--r--Source/cmGlobalGenerator.h12
-rw-r--r--Source/cmGlobalVisualStudio6Generator.cxx8
-rw-r--r--Source/cmGlobalVisualStudio71Generator.cxx17
-rw-r--r--Source/cmGlobalVisualStudio7Generator.cxx17
5 files changed, 35 insertions, 50 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 34cbe83..25e7602 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/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);
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index afb639c..5a01bd2 100644
--- a/Source/cmGlobalGenerator.h
+++ b/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);
diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx
index 8c46bd0..9a7c744 100644
--- a/Source/cmGlobalVisualStudio6Generator.cxx
+++ b/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();
diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index 3adc058..c7014aa 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/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";
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 0cc72ca..f2f3e98 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/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"