summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio71Generator.cxx
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2007-04-10 13:54:01 (GMT)
committerKen Martin <ken.martin@kitware.com>2007-04-10 13:54:01 (GMT)
commit8b0c61c322f939f2d718e71c5c796df9d58c6cc2 (patch)
tree97ac5ffb8706d20e87523b667ccf7769c08db381 /Source/cmGlobalVisualStudio71Generator.cxx
parent5415b65067ed2eabaa1bb64a50ced230074dab53 (diff)
downloadCMake-8b0c61c322f939f2d718e71c5c796df9d58c6cc2.zip
CMake-8b0c61c322f939f2d718e71c5c796df9d58c6cc2.tar.gz
CMake-8b0c61c322f939f2d718e71c5c796df9d58c6cc2.tar.bz2
ENH: added internal target property for the name of the project file
Diffstat (limited to 'Source/cmGlobalVisualStudio71Generator.cxx')
-rw-r--r--Source/cmGlobalVisualStudio71Generator.cxx29
1 files changed, 15 insertions, 14 deletions
diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index fec8df9..dd6ea9f 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -85,13 +85,9 @@ void cmGlobalVisualStudio71Generator
// Get the list of create dsp files names from the cmVCProjWriter, more
// than one dsp could have been created per input CMakeLists.txt file
// for each target
- std::vector<std::string> dspnames =
- static_cast<cmLocalVisualStudio7Generator *>(generators[i])
- ->GetCreatedProjectNames();
cmTargets &tgts = generators[i]->GetMakefile()->GetTargets();
cmTargets::iterator l = tgts.begin();
- for(std::vector<std::string>::iterator si = dspnames.begin();
- l != tgts.end() && si != dspnames.end(); ++l)
+ for(; l != tgts.end(); ++l)
{
// special handling for the current makefile
if(mf == generators[0]->GetMakefile())
@@ -221,9 +217,13 @@ void cmGlobalVisualStudio71Generator
}
if(!skip)
{
- this->WriteProject(fout, si->c_str(), dir.c_str(),l->second);
+ const char *dspname =
+ l->second.GetProperty("GENERATOR_FILE_NAME");
+ if (dspname)
+ {
+ this->WriteProject(fout, dspname, dir.c_str(),l->second);
+ }
}
- ++si;
}
}
}
@@ -241,13 +241,10 @@ void cmGlobalVisualStudio71Generator
// Get the list of create dsp files names from the cmVCProjWriter, more
// than one dsp could have been created per input CMakeLists.txt file
// for each target
- std::vector<std::string> dspnames =
- pg->GetCreatedProjectNames();
cmTargets &tgts = pg->GetMakefile()->GetTargets();
cmTargets::iterator l = tgts.begin();
std::string dir = mf->GetStartDirectory();
- for(std::vector<std::string>::iterator si = dspnames.begin();
- l != tgts.end() && si != dspnames.end(); ++l)
+ for(; l != tgts.end(); ++l)
{
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
{
@@ -263,9 +260,13 @@ void cmGlobalVisualStudio71Generator
bool partOfDefaultBuild = this->IsPartOfDefaultBuild(
root->GetMakefile()->GetProjectName(),
&l->second);
- this->WriteProjectConfigurations(fout, si->c_str(),
- partOfDefaultBuild);
- ++si;
+ const char *dspname =
+ l->second.GetProperty("GENERATOR_FILE_NAME");
+ if (dspname)
+ {
+ this->WriteProjectConfigurations(fout, dspname,
+ partOfDefaultBuild);
+ }
}
}
}