summaryrefslogtreecommitdiff
path: root/Source/cmGlobalVisualStudio6Generator.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2004-03-09 16:28:44 -0500
committerBill Hoffman <bill.hoffman@kitware.com>2004-03-09 16:28:44 -0500
commitddb815c12542f80f42562877298a73fab39bb4ca (patch)
tree825a90988e4710274a656b8f9bf7f32b7d0827fa /Source/cmGlobalVisualStudio6Generator.cxx
parentbf699505bc7fc378abf07ec4dfa0f0cc4fb89686 (diff)
downloadcmake-ddb815c12542f80f42562877298a73fab39bb4ca.tar.gz
ENH: add new subdirectory exclude from top option
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 97789ea11a..13bfad6124 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);
}
}