[Cmake-commits] CMake branch, next, updated. v3.0.0-rc1-1154-g42d3675

Brad King brad.king at kitware.com
Mon Mar 17 15:32:27 EDT 2014


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  42d3675470a486c8baca906af8a13d1b8d3c829f (commit)
       via  64c2342a8d0f3e655349d3897d2dee46a89aaedc (commit)
       via  5d9aa66c91909b8d7eab16edb020c9a14205ba69 (commit)
       via  9292d3b8a016fb48f5b5b1518895b6d63e51bc2e (commit)
      from  0589abd78ca89331c2dc41e61710a7b378c58a57 (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=42d3675470a486c8baca906af8a13d1b8d3c829f
commit 42d3675470a486c8baca906af8a13d1b8d3c829f
Merge: 0589abd 64c2342
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Mar 17 15:32:26 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Mar 17 15:32:26 2014 -0400

    Merge topic 'watcom-updates' into next
    
    64c2342a Watcom: Enable 'WMake Makefiles' generator on Linux
    5d9aa66c Watcom: Introduce OpenWatcom compiler id and fix compiler version
    9292d3b8 Watcom: Detect compiler target architecture and platform


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=64c2342a8d0f3e655349d3897d2dee46a89aaedc
commit 64c2342a8d0f3e655349d3897d2dee46a89aaedc
Author:     Jiri Malak <malak.jiri at gmail.com>
AuthorDate: Mon Mar 17 19:30:38 2014 +0100
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Mar 17 15:04:05 2014 -0400

    Watcom: Enable 'WMake Makefiles' generator on Linux

diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 9fb8d9a..762470f 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -404,7 +404,6 @@ if (WIN32)
       cmGlobalVisualStudio12Generator.cxx
       cmGlobalVisualStudioGenerator.cxx
       cmGlobalVisualStudioGenerator.h
-      cmGlobalWatcomWMakeGenerator.cxx
       cmIDEFlagTable.h
       cmIDEOptions.cxx
       cmIDEOptions.h
@@ -424,6 +423,15 @@ if (WIN32)
   endif()
 endif ()
 
+# Watcom support
+if(WIN32 OR "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+  set_property(SOURCE cmake.cxx APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_USE_WMAKE)
+  list(APPEND SRCS
+    cmGlobalWatcomWMakeGenerator.cxx
+    cmGlobalWatcomWMakeGenerator.h
+    )
+endif()
+
 # Ninja support
 set(SRCS ${SRCS}
   cmGlobalNinjaGenerator.cxx
diff --git a/Source/cmGlobalWatcomWMakeGenerator.cxx b/Source/cmGlobalWatcomWMakeGenerator.cxx
index 671166e..0ae1b34 100644
--- a/Source/cmGlobalWatcomWMakeGenerator.cxx
+++ b/Source/cmGlobalWatcomWMakeGenerator.cxx
@@ -16,7 +16,9 @@
 cmGlobalWatcomWMakeGenerator::cmGlobalWatcomWMakeGenerator()
 {
   this->FindMakeProgramFile = "CMakeFindWMake.cmake";
+#ifdef _WIN32
   this->ForceUnixPaths = false;
+#endif
   this->ToolSupportsColor = true;
   this->NeedSymbolicMark = true;
   this->EmptyRuleHackCommand = "@cd .";
@@ -44,7 +46,9 @@ cmLocalGenerator *cmGlobalWatcomWMakeGenerator::CreateLocalGenerator()
 {
   cmLocalUnixMakefileGenerator3* lg = new cmLocalUnixMakefileGenerator3;
   lg->SetDefineWindowsNULL(true);
+#ifdef _WIN32
   lg->SetWindowsShell(true);
+#endif
   lg->SetWatcomWMake(true);
   lg->SetMakeSilentFlag("-h");
   lg->SetGlobalGenerator(this);
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 4ce1d70..ede6842 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -60,13 +60,15 @@
 #    include "cmGlobalBorlandMakefileGenerator.h"
 #    include "cmGlobalNMakeMakefileGenerator.h"
 #    include "cmGlobalJOMMakefileGenerator.h"
-#    include "cmGlobalWatcomWMakeGenerator.h"
 #    define CMAKE_HAVE_VS_GENERATORS
 #  endif
 #  include "cmGlobalMSYSMakefileGenerator.h"
 #  include "cmGlobalMinGWMakefileGenerator.h"
 #else
 #endif
+#if defined(CMAKE_USE_WMAKE)
+# include "cmGlobalWatcomWMakeGenerator.h"
+#endif
 #include "cmGlobalUnixMakefileGenerator3.h"
 #include "cmGlobalNinjaGenerator.h"
 #include "cmExtraCodeLiteGenerator.h"
@@ -1781,8 +1783,6 @@ void cmake::AddDefaultGenerators()
     cmGlobalNMakeMakefileGenerator::NewFactory());
   this->Generators.push_back(
     cmGlobalJOMMakefileGenerator::NewFactory());
-  this->Generators.push_back(
-    cmGlobalWatcomWMakeGenerator::NewFactory());
 # endif
   this->Generators.push_back(
     cmGlobalMSYSMakefileGenerator::NewFactory());
@@ -1793,6 +1793,10 @@ void cmake::AddDefaultGenerators()
     cmGlobalUnixMakefileGenerator3::NewFactory());
   this->Generators.push_back(
     cmGlobalNinjaGenerator::NewFactory());
+#if defined(CMAKE_USE_WMAKE)
+  this->Generators.push_back(
+    cmGlobalWatcomWMakeGenerator::NewFactory());
+#endif
 #ifdef CMAKE_USE_XCODE
   this->Generators.push_back(
     cmGlobalXCodeGenerator::NewFactory());

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5d9aa66c91909b8d7eab16edb020c9a14205ba69
commit 5d9aa66c91909b8d7eab16edb020c9a14205ba69
Author:     Jiri Malak <malak.jiri at gmail.com>
AuthorDate: Mon Mar 17 19:41:02 2014 +0100
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Mar 17 15:00:59 2014 -0400

    Watcom: Introduce OpenWatcom compiler id and fix compiler version
    
    Distinguish "Open Watcom" from old "Watcom" by introducing a new
    "OpenWatcom" compiler id.  The __WATCOMC__ format is "VVRP" for Watcom
    and "VVRP + 1100" for Open Watcom.

diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in
index 561ccf2..16e19cd 100644
--- a/Modules/CMakeCCompilerId.c.in
+++ b/Modules/CMakeCCompilerId.c.in
@@ -68,10 +68,19 @@
 # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
 
 #elif defined(__WATCOMC__)
-# define COMPILER_ID "Watcom"
-  /* __WATCOMC__ = VVRR */
-# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
-# define COMPILER_VERSION_MINOR DEC(__WATCOMC__ % 100)
+# if __WATCOMC__ < 1200
+#  define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRP */
+#  define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# else
+#  define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+#  define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# endif
+# define COMPILER_VERSION_MINOR  DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
 
 #elif defined(__SUNPRO_C)
 # define COMPILER_ID "SunPro"
diff --git a/Modules/CMakeCXXCompilerId.cpp.in b/Modules/CMakeCXXCompilerId.cpp.in
index 6c602d4..d81df77 100644
--- a/Modules/CMakeCXXCompilerId.cpp.in
+++ b/Modules/CMakeCXXCompilerId.cpp.in
@@ -73,10 +73,19 @@
 # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
 
 #elif defined(__WATCOMC__)
-# define COMPILER_ID "Watcom"
-  /* __WATCOMC__ = VVRR */
-# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
-# define COMPILER_VERSION_MINOR DEC(__WATCOMC__ % 100)
+# if __WATCOMC__ < 1200
+#  define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRP */
+#  define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# else
+#  define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+#  define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# endif
+# define COMPILER_VERSION_MINOR  DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
 
 #elif defined(__SUNPRO_CC)
 # define COMPILER_ID "SunPro"
diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake
index 7e68e8f..4b551e6 100644
--- a/Modules/InstallRequiredSystemLibraries.cmake
+++ b/Modules/InstallRequiredSystemLibraries.cmake
@@ -374,10 +374,6 @@ if(WATCOM)
   string(REGEX MATCHALL "[0-9]+" _watcom_version_list "${_compiler_version}")
   list(GET _watcom_version_list 0 _watcom_major)
   list(GET _watcom_version_list 1 _watcom_minor)
-  if(${_watcom_major} GREATER 11)
-    math(EXPR _watcom_major "${_watcom_major} - 11")
-  endif()
-  math(EXPR _watcom_minor "${_watcom_minor} / 10")
   set( __install__libs
     ${CompilerPath}/clbr${_watcom_major}${_watcom_minor}.dll
     ${CompilerPath}/mt7r${_watcom_major}${_watcom_minor}.dll
diff --git a/Modules/Platform/Windows-wcl386.cmake b/Modules/Platform/Windows-wcl386.cmake
index d40d718..6b1cfd1 100644
--- a/Modules/Platform/Windows-wcl386.cmake
+++ b/Modules/Platform/Windows-wcl386.cmake
@@ -93,16 +93,18 @@ if(NOT _CMAKE_WATCOM_VERSION)
   set(WATCOM17)
   set(WATCOM18)
   set(WATCOM19)
-  if("${_compiler_version}" LESS 12.70)
-    set(WATCOM16 1)
-  endif()
-  if("${_compiler_version}" EQUAL 12.70)
-    set(WATCOM17 1)
-  endif()
-  if("${_compiler_version}" EQUAL 12.80)
-    set(WATCOM18 1)
-  endif()
-  if("${_compiler_version}" EQUAL 12.90)
-    set(WATCOM19 1)
+  if("${_compiler_id}" STREQUAL "OpenWatcom")
+    if("${_compiler_version}" VERSION_LESS 1.7)
+      set(WATCOM16 1)
+    endif()
+    if("${_compiler_version}" VERSION_EQUAL 1.7)
+      set(WATCOM17 1)
+    endif()
+    if("${_compiler_version}" VERSION_EQUAL 1.8)
+      set(WATCOM18 1)
+    endif()
+    if("${_compiler_version}" VERSION_EQUAL 1.9)
+      set(WATCOM19 1)
+    endif()
   endif()
 endif()
diff --git a/Source/cmExtraCodeBlocksGenerator.cxx b/Source/cmExtraCodeBlocksGenerator.cxx
index dba2406..e99bf04 100644
--- a/Source/cmExtraCodeBlocksGenerator.cxx
+++ b/Source/cmExtraCodeBlocksGenerator.cxx
@@ -715,7 +715,7 @@ std::string cmExtraCodeBlocksGenerator::GetCBCompilerId(const cmMakefile* mf)
     {
     compiler = "icc";
     }
-  else if (compilerId == "Watcom")
+  else if (compilerId == "Watcom" || compilerId == "OpenWatcom")
     {
     compiler = "ow";
     }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9292d3b8a016fb48f5b5b1518895b6d63e51bc2e
commit 9292d3b8a016fb48f5b5b1518895b6d63e51bc2e
Author:     Jiri Malak <malak.jiri at gmail.com>
AuthorDate: Mon Mar 17 19:38:57 2014 +0100
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Mar 17 14:54:43 2014 -0400

    Watcom: Detect compiler target architecture and platform
    
    In CMakePlatformId.h.in, fill ARCHITECTURE_ID and PLATFORM_ID for Open
    Watcom.

diff --git a/Modules/CMakePlatformId.h.in b/Modules/CMakePlatformId.h.in
index 1e41fec..bc26c07 100644
--- a/Modules/CMakePlatformId.h.in
+++ b/Modules/CMakePlatformId.h.in
@@ -74,6 +74,23 @@
 #elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
 # define PLATFORM_ID "Xenix"
 
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+#  define PLATFORM_ID ""
+# endif
+
 #else /* unknown platform */
 # define PLATFORM_ID ""
 
@@ -107,6 +124,17 @@
 #  define ARCHITECTURE_ID ""
 # endif
 
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
 #else
 #  define ARCHITECTURE_ID ""
 #endif

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

Summary of changes:
 Modules/CMakeCCompilerId.c.in                |   17 ++++++++++++----
 Modules/CMakeCXXCompilerId.cpp.in            |   17 ++++++++++++----
 Modules/CMakePlatformId.h.in                 |   28 ++++++++++++++++++++++++++
 Modules/InstallRequiredSystemLibraries.cmake |    4 ----
 Modules/Platform/Windows-wcl386.cmake        |   24 ++++++++++++----------
 Source/CMakeLists.txt                        |   10 ++++++++-
 Source/cmExtraCodeBlocksGenerator.cxx        |    2 +-
 Source/cmGlobalWatcomWMakeGenerator.cxx      |    4 ++++
 Source/cmake.cxx                             |   10 ++++++---
 9 files changed, 88 insertions(+), 28 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list