summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio6Generator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmGlobalVisualStudio6Generator.cxx')
-rw-r--r--Source/cmGlobalVisualStudio6Generator.cxx18
1 files changed, 13 insertions, 5 deletions
diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx
index 97789ea..13bfad6 100644
--- a/Source/cmGlobalVisualStudio6Generator.cxx
+++ b/Source/cmGlobalVisualStudio6Generator.cxx
@@ -201,8 +201,10 @@ void cmGlobalVisualStudio6Generator::CollectSubprojects()
}
}
+
// Write a DSW file to the stream
void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
+ cmLocalGenerator* root,
std::vector<cmLocalGenerator*>& generators)
{
// Write out the header for a DSW file
@@ -215,8 +217,13 @@ void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
unsigned int i;
bool doneAllBuild = false;
bool doneRunTests = false;
+
for(i = 0; i < generators.size(); ++i)
{
+ if(this->IsExcluded(root, generators[i]))
+ {
+ continue;
+ }
cmMakefile* mf = generators[i]->GetMakefile();
// Get the source directory from the makefile
@@ -324,15 +331,16 @@ void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
this->WriteDSWFooter(fout);
}
-void cmGlobalVisualStudio6Generator::OutputDSWFile(std::vector<cmLocalGenerator*>& generators)
+void cmGlobalVisualStudio6Generator::OutputDSWFile(cmLocalGenerator* root,
+ std::vector<cmLocalGenerator*>& generators)
{
if(generators.size() == 0)
{
return;
}
- std::string fname = generators[0]->GetMakefile()->GetStartOutputDirectory();
+ std::string fname = root->GetMakefile()->GetStartOutputDirectory();
fname += "/";
- fname += generators[0]->GetMakefile()->GetProjectName();
+ fname += root->GetMakefile()->GetProjectName();
fname += ".dsw";
std::ofstream fout(fname.c_str());
if(!fout)
@@ -341,7 +349,7 @@ void cmGlobalVisualStudio6Generator::OutputDSWFile(std::vector<cmLocalGenerator*
fname.c_str());
return;
}
- this->WriteDSWFile(fout, generators);
+ this->WriteDSWFile(fout, root, generators);
}
// output the DSW file
@@ -350,7 +358,7 @@ void cmGlobalVisualStudio6Generator::OutputDSWFile()
std::map<cmStdString, std::vector<cmLocalGenerator*> >::iterator it;
for(it = m_SubProjectMap.begin(); it!= m_SubProjectMap.end(); ++it)
{
- this->OutputDSWFile(it->second);
+ this->OutputDSWFile(it->second[0], it->second);
}
}