diff options
author | Brad King <brad.king@kitware.com> | 2005-11-22 18:37:42 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2005-11-22 18:37:42 (GMT) |
commit | d952f68738c33c7cbc5a815d28383e07be806e30 (patch) | |
tree | 1bb5bf1416a89745dbb343f408344ae546c9b852 | |
parent | abebb974aa1983b4cbdd5a2d886908d735530694 (diff) | |
download | CMake-d952f68738c33c7cbc5a815d28383e07be806e30.zip CMake-d952f68738c33c7cbc5a815d28383e07be806e30.tar.gz CMake-d952f68738c33c7cbc5a815d28383e07be806e30.tar.bz2 |
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.
-rw-r--r-- | Source/cmGlobalVisualStudio7Generator.h | 5 | ||||
-rw-r--r-- | Source/cmGlobalVisualStudio8Generator.cxx | 1 | ||||
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 10 |
3 files changed, 12 insertions, 4 deletions
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h index 93d697d..e5c7ff4 100644 --- a/Source/cmGlobalVisualStudio7Generator.h +++ b/Source/cmGlobalVisualStudio7Generator.h @@ -74,13 +74,14 @@ public: */ std::vector<std::string> *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<cmLocalGenerator*>& generators); virtual void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root, diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx index 4f20eb0..eb87b1c 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 fbd628a..c04a223 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<cmGlobalVisualStudio7Generator *>(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<Platforms>\n" |