summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2005-11-22 18:37:42 (GMT)
committerBrad King <brad.king@kitware.com>2005-11-22 18:37:42 (GMT)
commitd952f68738c33c7cbc5a815d28383e07be806e30 (patch)
tree1bb5bf1416a89745dbb343f408344ae546c9b852
parentabebb974aa1983b4cbdd5a2d886908d735530694 (diff)
downloadCMake-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.h5
-rw-r--r--Source/cmGlobalVisualStudio8Generator.cxx1
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx10
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"