[Cmake-commits] CMake branch, next, updated. v2.8.4-1785-g95c5ba5

Brad King brad.king at kitware.com
Mon Jun 20 08:42:38 EDT 2011


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  95c5ba5fab3f20361611d71cb142dd8a579c5d44 (commit)
       via  aed92ccea6321d0323a84d9001c489ef5d05d350 (commit)
       via  d44c68f39e5b46324898ce4ad0b12c63095b1b40 (commit)
      from  632cee46aaed69a071ae98cc3926390f6ff14f04 (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=95c5ba5fab3f20361611d71cb142dd8a579c5d44
commit 95c5ba5fab3f20361611d71cb142dd8a579c5d44
Merge: 632cee4 aed92cc
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jun 20 08:41:54 2011 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jun 20 08:41:54 2011 -0400

    Merge topic 'vs-ia64' into next
    
    aed92cc Add VisualStudio 9 and 10 generators for Itanium platform
    d44c68f VS: Factor Find64BitTools out of Win64 generator to parent


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aed92ccea6321d0323a84d9001c489ef5d05d350
commit aed92ccea6321d0323a84d9001c489ef5d05d350
Author:     Matej Hribernik <matej.hribernik at comtrade.com>
AuthorDate: Sun Jun 19 20:42:42 2011 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jun 20 08:31:13 2011 -0400

    Add VisualStudio 9 and 10 generators for Itanium platform

diff --git a/Modules/CMakeGenericSystem.cmake b/Modules/CMakeGenericSystem.cmake
index 6615849..6cd8fe6 100644
--- a/Modules/CMakeGenericSystem.cmake
+++ b/Modules/CMakeGenericSystem.cmake
@@ -73,7 +73,7 @@ function(GetDefaultWindowsPrefixBase var)
   # the architecture of the targets being built to choose the right
   # default value for CMAKE_INSTALL_PREFIX.
   #
-  if("${CMAKE_GENERATOR}" MATCHES "Win64")
+  if("${CMAKE_GENERATOR}" MATCHES "(Win64|IA64)")
     set(arch_hint "x64")
   elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
     set(arch_hint "x64")
diff --git a/Modules/Platform/Windows-cl.cmake b/Modules/Platform/Windows-cl.cmake
index 56582ff..ccccbc9 100644
--- a/Modules/Platform/Windows-cl.cmake
+++ b/Modules/Platform/Windows-cl.cmake
@@ -132,9 +132,9 @@ IF(MSVC_C_ARCHITECTURE_ID MATCHES 64)
 ELSE(MSVC_C_ARCHITECTURE_ID MATCHES 64)
   SET(CMAKE_CL_64 0)
 ENDIF(MSVC_C_ARCHITECTURE_ID MATCHES 64)
-IF(CMAKE_FORCE_WIN64)
+IF(CMAKE_FORCE_WIN64 OR CMAKE_FORCE_IA64)
   SET(CMAKE_CL_64 1)
-ENDIF(CMAKE_FORCE_WIN64)
+ENDIF(CMAKE_FORCE_WIN64 OR CMAKE_FORCE_IA64)
 
 IF("${MSVC_VERSION}" GREATER 1599)
   SET(MSVC_INCREMENTAL_DEFAULT ON)
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index ca063d5..1c942ba 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -308,6 +308,8 @@ IF (WIN32)
       cmGlobalVisualStudio8Win64Generator.h
       cmGlobalVisualStudio9Win64Generator.cxx
       cmGlobalVisualStudio9Win64Generator.h
+      cmGlobalVisualStudio9IA64Generator.cxx
+      cmGlobalVisualStudio9IA64Generator.h
       cmVisualStudioGeneratorOptions.h
       cmVisualStudioGeneratorOptions.cxx
       cmVisualStudio10TargetGenerator.h
@@ -318,6 +320,8 @@ IF (WIN32)
       cmGlobalVisualStudio10Generator.cxx
       cmGlobalVisualStudio10Win64Generator.h
       cmGlobalVisualStudio10Win64Generator.cxx
+      cmGlobalVisualStudio10IA64Generator.h
+      cmGlobalVisualStudio10IA64Generator.cxx
       cmGlobalVisualStudioGenerator.cxx
       cmGlobalVisualStudioGenerator.h
       cmGlobalWatcomWMakeGenerator.cxx
diff --git a/Source/cmGlobalVisualStudio10IA64Generator.cxx b/Source/cmGlobalVisualStudio10IA64Generator.cxx
new file mode 100644
index 0000000..5f70f6b
--- /dev/null
+++ b/Source/cmGlobalVisualStudio10IA64Generator.cxx
@@ -0,0 +1,51 @@
+/*============================================================================
+  CMake - Cross Platform Makefile Generator
+  Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+  Distributed under the OSI-approved BSD License (the "License");
+  see accompanying file Copyright.txt for details.
+
+  This software is distributed WITHOUT ANY WARRANTY; without even the
+  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+  See the License for more information.
+============================================================================*/
+#include "cmGlobalVisualStudio10IA64Generator.h"
+#include "cmMakefile.h"
+#include "cmake.h"
+
+//----------------------------------------------------------------------------
+cmGlobalVisualStudio10IA64Generator::cmGlobalVisualStudio10IA64Generator()
+{
+}
+
+//----------------------------------------------------------------------------
+void cmGlobalVisualStudio10IA64Generator
+::GetDocumentation(cmDocumentationEntry& entry) const
+{
+  entry.Name = this->GetName();
+  entry.Brief = "Generates Visual Studio 10 Itanium project files.";
+  entry.Full = "";
+}
+
+//----------------------------------------------------------------------------
+void cmGlobalVisualStudio10IA64Generator
+::AddPlatformDefinitions(cmMakefile* mf)
+{
+  this->cmGlobalVisualStudio10Generator::AddPlatformDefinitions(mf);
+  mf->AddDefinition("CMAKE_FORCE_IA64", "TRUE");
+  mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "x64");
+  mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "x64");
+}
+
+//----------------------------------------------------------------------------
+void cmGlobalVisualStudio10IA64Generator
+::EnableLanguage(std::vector<std::string> const& languages,
+                 cmMakefile* mf, bool optional)
+{
+  if(this->IsExpressEdition() && !this->Find64BitTools(mf))
+    {
+    return;
+    }
+  this->cmGlobalVisualStudio10Generator
+    ::EnableLanguage(languages, mf, optional);
+}
diff --git a/Source/cmGlobalVisualStudio10IA64Generator.h b/Source/cmGlobalVisualStudio10IA64Generator.h
new file mode 100644
index 0000000..a088272
--- /dev/null
+++ b/Source/cmGlobalVisualStudio10IA64Generator.h
@@ -0,0 +1,40 @@
+/*============================================================================
+  CMake - Cross Platform Makefile Generator
+  Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+  Distributed under the OSI-approved BSD License (the "License");
+  see accompanying file Copyright.txt for details.
+
+  This software is distributed WITHOUT ANY WARRANTY; without even the
+  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+  See the License for more information.
+============================================================================*/
+#ifndef cmGlobalVisualStudio10IA64Generator_h
+#define cmGlobalVisualStudio10IA64Generator_h
+
+#include "cmGlobalVisualStudio10Generator.h"
+
+class cmGlobalVisualStudio10IA64Generator :
+  public cmGlobalVisualStudio10Generator
+{
+public:
+  cmGlobalVisualStudio10IA64Generator();
+  static cmGlobalGenerator* New() {
+    return new cmGlobalVisualStudio10IA64Generator; }
+
+  ///! Get the name for the generator.
+  virtual const char* GetName() const {
+    return cmGlobalVisualStudio10IA64Generator::GetActualName();}
+  static const char* GetActualName() {return "Visual Studio 10 IA64";}
+
+  virtual const char* GetPlatformName() const {return "Itanium";}
+
+  /** Get the documentation entry for this generator.  */
+  virtual void GetDocumentation(cmDocumentationEntry& entry) const;
+
+  virtual void AddPlatformDefinitions(cmMakefile* mf);
+
+  virtual void EnableLanguage(std::vector<std::string>const& languages,
+                              cmMakefile *, bool optional);
+};
+#endif
diff --git a/Source/cmGlobalVisualStudio9IA64Generator.cxx b/Source/cmGlobalVisualStudio9IA64Generator.cxx
new file mode 100644
index 0000000..d49739b
--- /dev/null
+++ b/Source/cmGlobalVisualStudio9IA64Generator.cxx
@@ -0,0 +1,48 @@
+/*============================================================================
+  CMake - Cross Platform Makefile Generator
+  Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+  Distributed under the OSI-approved BSD License (the "License");
+  see accompanying file Copyright.txt for details.
+
+  This software is distributed WITHOUT ANY WARRANTY; without even the
+  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+  See the License for more information.
+============================================================================*/
+#include "cmGlobalVisualStudio9IA64Generator.h"
+#include "cmLocalVisualStudio7Generator.h"
+#include "cmMakefile.h"
+
+
+cmGlobalVisualStudio9IA64Generator::cmGlobalVisualStudio9IA64Generator()
+{
+  this->ArchitectureId = "Itanium";
+}
+
+///! Create a local generator appropriate to this Global Generator
+cmLocalGenerator *cmGlobalVisualStudio9IA64Generator::CreateLocalGenerator()
+{
+  cmLocalVisualStudio7Generator *lg = new cmLocalVisualStudio7Generator;
+  lg->SetVersion9();
+  lg->SetPlatformName(this->GetPlatformName());
+  lg->SetExtraFlagTable(this->GetExtraFlagTableVS8());
+  lg->SetGlobalGenerator(this);
+  return lg;
+}
+
+//----------------------------------------------------------------------------
+void cmGlobalVisualStudio9IA64Generator
+::GetDocumentation(cmDocumentationEntry& entry) const
+{
+  entry.Name = this->GetName();
+  entry.Brief = "Generates Visual Studio 9 2008 Itanium project files.";
+  entry.Full = "";
+}
+
+//----------------------------------------------------------------------------
+void cmGlobalVisualStudio9IA64Generator
+::AddPlatformDefinitions(cmMakefile* mf)
+{
+  cmGlobalVisualStudio9Generator::AddPlatformDefinitions(mf);
+  mf->AddDefinition("CMAKE_FORCE_IA64", "TRUE");
+}
diff --git a/Source/cmGlobalVisualStudio9IA64Generator.h b/Source/cmGlobalVisualStudio9IA64Generator.h
new file mode 100644
index 0000000..e33ee15
--- /dev/null
+++ b/Source/cmGlobalVisualStudio9IA64Generator.h
@@ -0,0 +1,50 @@
+/*============================================================================
+  CMake - Cross Platform Makefile Generator
+  Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+  Distributed under the OSI-approved BSD License (the "License");
+  see accompanying file Copyright.txt for details.
+
+  This software is distributed WITHOUT ANY WARRANTY; without even the
+  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+  See the License for more information.
+============================================================================*/
+#ifndef cmGlobalVisualStudio9IA64Generator_h
+#define cmGlobalVisualStudio9IA64Generator_h
+
+#include "cmGlobalVisualStudio9Generator.h"
+
+
+/** \class cmGlobalVisualStudio8IA64Generator
+ * \brief Write a Unix makefiles.
+ *
+ * cmGlobalVisualStudio8IA64Generator manages UNIX build process for a tree
+ */
+class cmGlobalVisualStudio9IA64Generator :
+  public cmGlobalVisualStudio9Generator
+{
+public:
+  cmGlobalVisualStudio9IA64Generator();
+  static cmGlobalGenerator* New() {
+    return new cmGlobalVisualStudio9IA64Generator; }
+
+  ///! Get the name for the generator.
+  virtual const char* GetName() const {
+    return cmGlobalVisualStudio9IA64Generator::GetActualName();}
+  static const char* GetActualName() {return "Visual Studio 9 2008 IA64";}
+
+  virtual const char* GetPlatformName() const {return "Itanium";}
+
+  /** Get the documentation entry for this generator.  */
+  virtual void GetDocumentation(cmDocumentationEntry& entry) const;
+
+  ///! create the correct local generator
+  virtual cmLocalGenerator *CreateLocalGenerator();
+
+  /**
+   * Try to determine system infomation such as shared library
+   * extension, pthreads, byte order etc.
+   */
+  virtual void AddPlatformDefinitions(cmMakefile *);
+};
+#endif
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 45927cb..cc798b7 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -62,8 +62,10 @@
 #    include "cmGlobalVisualStudio71Generator.h"
 #    include "cmGlobalVisualStudio8Generator.h"
 #    include "cmGlobalVisualStudio9Generator.h"
+#    include "cmGlobalVisualStudio9IA64Generator.h"
 #    include "cmGlobalVisualStudio9Win64Generator.h"
 #    include "cmGlobalVisualStudio10Generator.h"
+#    include "cmGlobalVisualStudio10IA64Generator.h"
 #    include "cmGlobalVisualStudio10Win64Generator.h"
 #    include "cmGlobalVisualStudio8Win64Generator.h"
 #    include "cmGlobalBorlandMakefileGenerator.h"
@@ -2440,6 +2442,8 @@ void cmake::AddDefaultGenerators()
     &cmGlobalVisualStudio7Generator::New;
   this->Generators[cmGlobalVisualStudio10Generator::GetActualName()] =
     &cmGlobalVisualStudio10Generator::New;
+  this->Generators[cmGlobalVisualStudio10IA64Generator::GetActualName()] =
+    &cmGlobalVisualStudio10IA64Generator::New;
   this->Generators[cmGlobalVisualStudio10Win64Generator::GetActualName()] =
     &cmGlobalVisualStudio10Win64Generator::New;
   this->Generators[cmGlobalVisualStudio71Generator::GetActualName()] =
@@ -2448,6 +2452,8 @@ void cmake::AddDefaultGenerators()
     &cmGlobalVisualStudio8Generator::New;
   this->Generators[cmGlobalVisualStudio9Generator::GetActualName()] =
     &cmGlobalVisualStudio9Generator::New;
+  this->Generators[cmGlobalVisualStudio9IA64Generator::GetActualName()] =
+    &cmGlobalVisualStudio9IA64Generator::New;
   this->Generators[cmGlobalVisualStudio9Win64Generator::GetActualName()] =
     &cmGlobalVisualStudio9Win64Generator::New;
   this->Generators[cmGlobalVisualStudio8Win64Generator::GetActualName()] =

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d44c68f39e5b46324898ce4ad0b12c63095b1b40
commit d44c68f39e5b46324898ce4ad0b12c63095b1b40
Author:     Matej Hribernik <matej.hribernik at comtrade.com>
AuthorDate: Sun Jun 19 18:40:28 2011 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jun 20 08:29:40 2011 -0400

    VS: Factor Find64BitTools out of Win64 generator to parent
    
    It will be shared with a forthcoming IA64 generator.

diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx
index 6c3c1ed..2ee95c0 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -174,3 +174,39 @@ std::string cmGlobalVisualStudio10Generator
     }
   return makeCommand;
 }
+
+//----------------------------------------------------------------------------
+bool cmGlobalVisualStudio10Generator::Find64BitTools(cmMakefile* mf)
+{
+  if(!this->PlatformToolset.empty())
+    {
+    return true;
+    }
+  // This edition does not come with 64-bit tools.  Look for them.
+  //
+  // TODO: Detect available tools?  x64\v100 exists but does not work?
+  // KHLM\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions\\4.0;VCTargetsPath
+  // c:/Program Files (x86)/MSBuild/Microsoft.Cpp/v4.0/Platforms/
+  //   {Itanium,Win32,x64}/PlatformToolsets/{v100,v90,Windows7.1SDK}
+  std::string winSDK_7_1;
+  if(cmSystemTools::ReadRegistryValue(
+       "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\"
+       "Windows\\v7.1;InstallationFolder", winSDK_7_1))
+    {
+    cmOStringStream m;
+    m << "Found Windows SDK v7.1: " << winSDK_7_1;
+    mf->DisplayStatus(m.str().c_str(), -1);
+    this->PlatformToolset = "Windows7.1SDK";
+    return true;
+    }
+  else
+    {
+    cmOStringStream e;
+    e << "Cannot enable 64-bit tools with Visual Studio 2010 Express.\n"
+      << "Install the Microsoft Windows SDK v7.1 to get 64-bit tools:\n"
+      << "  http://msdn.microsoft.com/en-us/windows/bb980924.aspx";
+    mf->IssueMessage(cmake::FATAL_ERROR, e.str().c_str());
+    cmSystemTools::SetFatalErrorOccured();
+    return false;
+    }
+}
diff --git a/Source/cmGlobalVisualStudio10Generator.h b/Source/cmGlobalVisualStudio10Generator.h
index bef5642..8573670 100644
--- a/Source/cmGlobalVisualStudio10Generator.h
+++ b/Source/cmGlobalVisualStudio10Generator.h
@@ -74,6 +74,7 @@ public:
   virtual std::string GetUserMacrosRegKeyBase();
   virtual const char* GetCMakeCFGInitDirectory() 
     { return "$(Configuration)";}
+  bool Find64BitTools(cmMakefile* mf);
 protected:
   virtual const char* GetIDEVersion() { return "10.0"; }
 
diff --git a/Source/cmGlobalVisualStudio10Win64Generator.cxx b/Source/cmGlobalVisualStudio10Win64Generator.cxx
index 8600777..49dc473 100644
--- a/Source/cmGlobalVisualStudio10Win64Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Win64Generator.cxx
@@ -38,42 +38,6 @@ void cmGlobalVisualStudio10Win64Generator
 }
 
 //----------------------------------------------------------------------------
-bool cmGlobalVisualStudio10Win64Generator::Find64BitTools(cmMakefile* mf)
-{
-  if(!this->PlatformToolset.empty())
-    {
-    return true;
-    }
-  // This edition does not come with 64-bit tools.  Look for them.
-  //
-  // TODO: Detect available tools?  x64\v100 exists but does not work?
-  // KHLM\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions\\4.0;VCTargetsPath
-  // c:/Program Files (x86)/MSBuild/Microsoft.Cpp/v4.0/Platforms/
-  //   {Itanium,Win32,x64}/PlatformToolsets/{v100,v90,Windows7.1SDK}
-  std::string winSDK_7_1;
-  if(cmSystemTools::ReadRegistryValue(
-       "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\"
-       "Windows\\v7.1;InstallationFolder", winSDK_7_1))
-    {
-    cmOStringStream m;
-    m << "Found Windows SDK v7.1: " << winSDK_7_1;
-    mf->DisplayStatus(m.str().c_str(), -1);
-    this->PlatformToolset = "Windows7.1SDK";
-    return true;
-    }
-  else
-    {
-    cmOStringStream e;
-    e << "Cannot enable 64-bit tools with Visual Studio 2010 Express.\n"
-      << "Install the Microsoft Windows SDK v7.1 to get 64-bit tools:\n"
-      << "  http://msdn.microsoft.com/en-us/windows/bb980924.aspx";
-    mf->IssueMessage(cmake::FATAL_ERROR, e.str().c_str());
-    cmSystemTools::SetFatalErrorOccured();
-    return false;
-    }
-}
-
-//----------------------------------------------------------------------------
 void cmGlobalVisualStudio10Win64Generator
 ::EnableLanguage(std::vector<std::string> const& languages,
                  cmMakefile* mf, bool optional)
diff --git a/Source/cmGlobalVisualStudio10Win64Generator.h b/Source/cmGlobalVisualStudio10Win64Generator.h
index e6d3dc5..8a2de4c 100644
--- a/Source/cmGlobalVisualStudio10Win64Generator.h
+++ b/Source/cmGlobalVisualStudio10Win64Generator.h
@@ -34,7 +34,6 @@ public:
 
   virtual void AddPlatformDefinitions(cmMakefile* mf);
 
-  bool Find64BitTools(cmMakefile* mf);
   virtual void EnableLanguage(std::vector<std::string>const& languages,
                               cmMakefile *, bool optional);
 };

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

Summary of changes:
 Modules/CMakeGenericSystem.cmake                   |    2 +-
 Modules/Platform/Windows-cl.cmake                  |    4 +-
 Source/CMakeLists.txt                              |    4 ++
 Source/cmGlobalVisualStudio10Generator.cxx         |   36 ++++++++++++++
 Source/cmGlobalVisualStudio10Generator.h           |    1 +
 Source/cmGlobalVisualStudio10IA64Generator.cxx     |   51 ++++++++++++++++++++
 ...tor.h => cmGlobalVisualStudio10IA64Generator.h} |   17 +++----
 Source/cmGlobalVisualStudio10Win64Generator.cxx    |   36 --------------
 Source/cmGlobalVisualStudio10Win64Generator.h      |    1 -
 ....cxx => cmGlobalVisualStudio9IA64Generator.cxx} |   16 +++---
 ...ator.h => cmGlobalVisualStudio9IA64Generator.h} |   26 +++++-----
 Source/cmake.cxx                                   |    6 ++
 12 files changed, 130 insertions(+), 70 deletions(-)
 create mode 100644 Source/cmGlobalVisualStudio10IA64Generator.cxx
 copy Source/{cmGlobalVisualStudio10Win64Generator.h => cmGlobalVisualStudio10IA64Generator.h} (70%)
 copy Source/{cmGlobalVisualStudio9Win64Generator.cxx => cmGlobalVisualStudio9IA64Generator.cxx} (75%)
 copy Source/{cmGlobalVisualStudio9Win64Generator.h => cmGlobalVisualStudio9IA64Generator.h} (67%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list