BUG: fix for 871, include external should work for 7.1 and 7.0

This commit is contained in:
Bill Hoffman 2004-06-01 12:07:01 -04:00
parent b97ad900c0
commit 8d1a5c48e7
2 changed files with 13 additions and 4 deletions

View File

@ -80,7 +80,7 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout,
cmTargets &tgts = generators[i]->GetMakefile()->GetTargets();
cmTargets::iterator l = tgts.begin();
for(std::vector<std::string>::iterator si = dspnames.begin();
l != tgts.end(); ++l)
l != tgts.end() && si != dspnames.end(); ++l)
{
// special handling for the current makefile
if(mf == generators[0]->GetMakefile())
@ -118,7 +118,7 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout,
// Write the project into the SLN file
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
{
cmCustomCommand cc = l->second.GetPreLinkCommands()[0];
cmCustomCommand cc = l->second.GetPostBuildCommands()[0];
// dodgy use of the cmCustomCommand's members to store the
// arguments from the INCLUDE_EXTERNAL_MSPROJECT command
@ -202,7 +202,7 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout,
cmTargets::iterator l = tgts.begin();
std::string dir = mf->GetStartDirectory();
for(std::vector<std::string>::iterator si = dspnames.begin();
l != tgts.end(); ++l)
l != tgts.end() && si != dspnames.end(); ++l)
{
if ((l->second.GetType() != cmTarget::INSTALL_FILES)
&& (l->second.GetType() != cmTarget::INSTALL_PROGRAMS))

View File

@ -1238,7 +1238,16 @@ void cmLocalVisualStudio7Generator::ConfigureFinalPass()
static_cast<cmGlobalVisualStudio7Generator *>(m_GlobalGenerator);
for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); l++)
{
gg->CreateGUID(l->first.c_str());
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
{
cmCustomCommand cc = l->second.GetPostBuildCommands()[0];
std::vector<std::string> stuff = cc.GetDepends();
gg->CreateGUID(stuff[0].c_str());
}
else
{
gg->CreateGUID(l->first.c_str());
}
}
}