[Cmake-commits] CMake branch, next, updated. v2.8.12.1-6314-ge758ea2

Brad King brad.king at kitware.com
Fri Dec 20 11:10:50 EST 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  e758ea22200b5158c73fdb1a126581728129f159 (commit)
       via  a79cbdc0682415ef740633f8289ec8821f0c879c (commit)
      from  adef9500b446ddb174e34f4bb08abc8d4d97359a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e758ea22200b5158c73fdb1a126581728129f159
commit e758ea22200b5158c73fdb1a126581728129f159
Merge: adef950 a79cbdc
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Dec 20 11:10:48 2013 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Dec 20 11:10:48 2013 -0500

    Merge topic 'vs-external-project-type' into next
    
    a79cbdc VS: Teach include_external_msproject about non-C++ projects (#14661)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a79cbdc0682415ef740633f8289ec8821f0c879c
commit a79cbdc0682415ef740633f8289ec8821f0c879c
Author:     David Golub <golubdr at gmail.com>
AuthorDate: Thu Dec 19 16:39:19 2013 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Dec 20 11:02:11 2013 -0500

    VS: Teach include_external_msproject about non-C++ projects (#14661)
    
    Teach CMake to guess the project type guid based on the project file
    extension.  This allows non-C++ projects like *.vbproj or *.csproj
    to be included.

diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index 6cfad25..22e4f08 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -240,7 +240,7 @@ void cmGlobalVisualStudio71Generator
                        const std::set<cmStdString>& depends)
 {
   fout << "Project(\"{"
-       << (typeGuid ? typeGuid : "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942")
+       << (typeGuid ? typeGuid : this->ExternalProjectType(location))
        << "}\") = \""
        << name << "\", \""
        << this->ConvertToSolutionPath(location) << "\", \"{"
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 1899b40..bb63289 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -146,6 +146,41 @@ std::string cmGlobalVisualStudio7Generator::FindDevEnvCommand()
 }
 
 //----------------------------------------------------------------------------
+const char* cmGlobalVisualStudio7Generator::ExternalProjectType(
+  const char* location)
+{
+  std::string extension = cmSystemTools::GetFilenameLastExtension(location);
+  if (extension == ".vbproj")
+    {
+    return "F184B08F-C81C-45F6-A57F-5ABD9991F28F";
+    }
+  else if (extension == ".csproj")
+    {
+    return "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC";
+    }
+  else if (extension == ".fsproj")
+    {
+    return "F2A71F9B-5D33-465A-A702-920D77279786";
+    }
+  else if (extension == ".vdproj")
+    {
+    return "54435603-DBB4-11D2-8724-00A0C9A8B90C";
+    }
+  else if (extension == ".dbproj")
+    {
+    return "C8D11400-126E-41CD-887F-60BD40844F9E";
+    }
+  else if (extension == ".wixproj")
+    {
+    return "930C7802-8A8C-48F9-8165-68863BCCD9DD";
+    }
+  else if (extension == ".pyproj")
+    {
+    return "888888A0-9F3D-457C-B088-3A5042F75D52";
+    }
+  return "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942";
+}
+//----------------------------------------------------------------------------
 void cmGlobalVisualStudio7Generator::GenerateBuildCommand(
   std::vector<std::string>& makeCommand,
   const char* makeProgram,
@@ -730,7 +765,7 @@ void cmGlobalVisualStudio7Generator::WriteExternalProject(std::ostream& fout,
   std::string d = cmSystemTools::ConvertToOutputPath(location);
   fout << "Project("
        << "\"{"
-       << (typeGuid ? typeGuid : "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942")
+       << (typeGuid ? typeGuid : this->ExternalProjectType(location))
        << "}\") = \""
        << name << "\", \""
        << this->ConvertToSolutionPath(location) << "\", \"{"
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h
index 611422a..f69bd84 100644
--- a/Source/cmGlobalVisualStudio7Generator.h
+++ b/Source/cmGlobalVisualStudio7Generator.h
@@ -115,6 +115,8 @@ protected:
   std::string const& GetDevEnvCommand();
   virtual std::string FindDevEnvCommand();
 
+  static const char* ExternalProjectType(const char* location);
+
   static cmIDEFlagTable const* GetExtraFlagTableVS7();
   virtual void OutputSLNFile(cmLocalGenerator* root,
                              std::vector<cmLocalGenerator*>& generators);

-----------------------------------------------------------------------

Summary of changes:
 Source/cmGlobalVisualStudio71Generator.cxx |    2 +-
 Source/cmGlobalVisualStudio7Generator.cxx  |   37 +++++++++++++++++++++++++++-
 Source/cmGlobalVisualStudio7Generator.h    |    2 +
 3 files changed, 39 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list