From 8d1a5c48e702ed24d343210639268777ba9fe8a3 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Tue, 1 Jun 2004 12:07:01 -0400 Subject: BUG: fix for 871, include external should work for 7.1 and 7.0 --- Source/cmGlobalVisualStudio71Generator.cxx | 6 +++--- Source/cmLocalVisualStudio7Generator.cxx | 11 ++++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx index bfcbe8c..5d3c19d 100644 --- a/Source/cmGlobalVisualStudio71Generator.cxx +++ b/Source/cmGlobalVisualStudio71Generator.cxx @@ -80,7 +80,7 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout, cmTargets &tgts = generators[i]->GetMakefile()->GetTargets(); cmTargets::iterator l = tgts.begin(); for(std::vector::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::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)) diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 6a6bcd1..bd17fd8 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -1238,7 +1238,16 @@ void cmLocalVisualStudio7Generator::ConfigureFinalPass() static_cast(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 stuff = cc.GetDepends(); + gg->CreateGUID(stuff[0].c_str()); + } + else + { + gg->CreateGUID(l->first.c_str()); + } } } -- cgit v0.12