From d952f68738c33c7cbc5a815d28383e07be806e30 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 22 Nov 2005 13:37:42 -0500 Subject: [PATCH] BUG: Tweak VS8 generator to keep VS8 happy. The .vcproj files need their own GUIDs in a ProjectGUID attribute. The top level .sln file needs a special comment at the top to allow it to be opened with double-click in explorer. --- Source/cmGlobalVisualStudio7Generator.h | 5 +++-- Source/cmGlobalVisualStudio8Generator.cxx | 1 + Source/cmLocalVisualStudio7Generator.cxx | 10 ++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h index 93d697dbe..e5c7ff464 100644 --- a/Source/cmGlobalVisualStudio7Generator.h +++ b/Source/cmGlobalVisualStudio7Generator.h @@ -74,13 +74,14 @@ public: */ std::vector *GetConfigurations(); - ///! Create a GUID + ///! Create a GUID or get an existing one. void CreateGUID(const char* name); + std::string GetGUID(const char* name); ///! do configure step virtual void Configure(); + protected: - std::string GetGUID(const char* name); virtual void OutputSLNFile(cmLocalGenerator* root, std::vector& generators); virtual void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root, diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx index 4f20eb077..eb87b1c0e 100644 --- a/Source/cmGlobalVisualStudio8Generator.cxx +++ b/Source/cmGlobalVisualStudio8Generator.cxx @@ -43,6 +43,7 @@ cmLocalGenerator *cmGlobalVisualStudio8Generator::CreateLocalGenerator() void cmGlobalVisualStudio8Generator::WriteSLNHeader(std::ostream& fout) { fout << "Microsoft Visual Studio Solution File, Format Version 9.00\n"; + fout << "# Visual Studio 2005\n"; } //---------------------------------------------------------------------------- diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index fbd628a59..c04a223a1 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -1352,8 +1352,14 @@ cmLocalVisualStudio7Generator::WriteProjectStart(std::ostream& fout, { keyword = "Win32Proj"; } - fout << "\tName=\"" << projLabel << "\"\n" - << "\tSccProjectName=\"\"\n" + cmGlobalVisualStudio7Generator* gg = + static_cast(m_GlobalGenerator); + fout << "\tName=\"" << projLabel << "\"\n"; + if(m_Version == 8) + { + fout << "\tProjectGUID=\"{" << gg->GetGUID(libName) << "}\"\n"; + } + fout << "\tSccProjectName=\"\"\n" << "\tSccLocalPath=\"\"\n" << "\tKeyword=\"" << keyword << "\">\n" << "\t\n"