[Cmake-commits] CMake branch, next, updated. v2.8.7-2746-g9c12f1c

Brad King brad.king at kitware.com
Mon Feb 20 10:11:15 EST 2012


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  9c12f1cbb0067670a32f246b9cfdb2c51ac024c8 (commit)
       via  bdbbf763d65a4040001188b2e2d05bdab4a35427 (commit)
       via  3f78ced7c2318b23610c6a4ffdf727bde0efa529 (commit)
      from  e93abd26ccbe8a06b8862c94b2fc3e0ba50c2a7d (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=9c12f1cbb0067670a32f246b9cfdb2c51ac024c8
commit 9c12f1cbb0067670a32f246b9cfdb2c51ac024c8
Merge: e93abd2 bdbbf76
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Feb 20 10:10:53 2012 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Feb 20 10:10:53 2012 -0500

    Merge topic 'add-Embarcadero-support' into next
    
    bdbbf76 Recognize Embarcadero compiler (#12604)
    3f78ced Rename Modules/Platform/Windows-{Borland => Embarcadero}.cmake


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bdbbf763d65a4040001188b2e2d05bdab4a35427
commit bdbbf763d65a4040001188b2e2d05bdab4a35427
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Feb 17 14:17:32 2012 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Feb 20 10:09:44 2012 -0500

    Recognize Embarcadero compiler (#12604)
    
    The Borland compiler was re-branded as CodeGear during 2007-2009 and
    since 2009 is the Embarcadero compiler.  They offer predefined macros:
    
      http://docwiki.embarcadero.com/RADStudio/en/Predefined_Macros
    
    and distinguish themselves by __CODEGEARC__ and __CODEGEARC_VERSION__.
    
    Version 6.30 (C++Builder XE) changed the meaning of some flags:
    
      http://docwiki.embarcadero.com/RADStudio/en/C%2B%2B_Compiler_Option_Changes_for_XE
    
    Teach Embarcadero compiler information files to generate build rules
    with flags matching the compiler version.  Leave the flags unchanged
    for old Borland versions.  Always set the BORLAND toolchain indicator
    for compatibility with existing projects that test it.  Also set the
    EMBARCADERO indicator for newer toolchains.

diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in
index b0f5eb6..06aa9bf 100644
--- a/Modules/CMakeCCompilerId.c.in
+++ b/Modules/CMakeCCompilerId.c.in
@@ -26,6 +26,12 @@
 # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
 # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
 
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__     & 0xFFFF)
+
 #elif defined(__BORLANDC__)
 # define COMPILER_ID "Borland"
   /* __BORLANDC__ = 0xVRR */
diff --git a/Modules/CMakeCXXCompilerId.cpp.in b/Modules/CMakeCXXCompilerId.cpp.in
index 927f7f4..95fc852 100644
--- a/Modules/CMakeCXXCompilerId.cpp.in
+++ b/Modules/CMakeCXXCompilerId.cpp.in
@@ -28,6 +28,12 @@
 # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
 # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
 
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__     & 0xFFFF)
+
 #elif defined(__BORLANDC__)
 # define COMPILER_ID "Borland"
   /* __BORLANDC__ = 0xVRR */
diff --git a/Modules/Platform/Windows-Borland-C.cmake b/Modules/Platform/Windows-Borland-C.cmake
index c8abb65..e2f76aa 100644
--- a/Modules/Platform/Windows-Borland-C.cmake
+++ b/Modules/Platform/Windows-Borland-C.cmake
@@ -1,2 +1 @@
-include(Platform/Windows-Embarcadero)
-__embarcadero_language(C)
+include(Platform/Windows-Embarcadero-C)
diff --git a/Modules/Platform/Windows-Borland-CXX.cmake b/Modules/Platform/Windows-Borland-CXX.cmake
index 9704f8a..809490f 100644
--- a/Modules/Platform/Windows-Borland-CXX.cmake
+++ b/Modules/Platform/Windows-Borland-CXX.cmake
@@ -1,2 +1 @@
-include(Platform/Windows-Embarcadero)
-__embarcadero_language(CXX)
+include(Platform/Windows-Embarcadero-CXX)
diff --git a/Modules/Platform/Windows-Borland-C.cmake b/Modules/Platform/Windows-Embarcadero-C.cmake
similarity index 83%
copy from Modules/Platform/Windows-Borland-C.cmake
copy to Modules/Platform/Windows-Embarcadero-C.cmake
index c8abb65..607fd4e 100644
--- a/Modules/Platform/Windows-Borland-C.cmake
+++ b/Modules/Platform/Windows-Embarcadero-C.cmake
@@ -1,2 +1,3 @@
+set(_lang C)
 include(Platform/Windows-Embarcadero)
 __embarcadero_language(C)
diff --git a/Modules/Platform/Windows-Borland-CXX.cmake b/Modules/Platform/Windows-Embarcadero-CXX.cmake
similarity index 81%
copy from Modules/Platform/Windows-Borland-CXX.cmake
copy to Modules/Platform/Windows-Embarcadero-CXX.cmake
index 9704f8a..279a4de 100644
--- a/Modules/Platform/Windows-Borland-CXX.cmake
+++ b/Modules/Platform/Windows-Embarcadero-CXX.cmake
@@ -1,2 +1,3 @@
+set(_lang CXX)
 include(Platform/Windows-Embarcadero)
 __embarcadero_language(CXX)
diff --git a/Modules/Platform/Windows-Embarcadero.cmake b/Modules/Platform/Windows-Embarcadero.cmake
index a00f798..87b3767 100644
--- a/Modules/Platform/Windows-Embarcadero.cmake
+++ b/Modules/Platform/Windows-Embarcadero.cmake
@@ -1,6 +1,6 @@
 
 #=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
+# Copyright 2002-2012 Kitware, Inc.
 #
 # Distributed under the OSI-approved BSD License (the "License");
 # see accompanying file Copyright.txt for details.
@@ -20,19 +20,26 @@ set(__WINDOWS_EMBARCADERO 1)
 
 SET(BORLAND 1)
 
-# Borland target type flags (bcc32 -h -t):
-#  -tW     GUI App         (implies -U__CONSOLE__)
-#  -tWC    Console App     (implies -D__CONSOLE__=1)
-#  -tWD    Build a DLL     (implies -D__DLL__=1 -D_DLL=1)
-#  -tWM    Enable threads  (implies -D__MT__=1 -D_MT=1)
-#  -tWR    Use DLL runtime (implies -D_RTLDLL, and '-tW' too!!)
-#
-# Notes:
-#  - The flags affect linking so we pass them to the linker.
-#  - The flags affect preprocessing so we pass them to the compiler.
-#  - Since '-tWR' implies '-tW' we use '-tWR -tW-' instead.
-#  - Since '-tW-' disables '-tWD' we use '-tWR -tW- -tWD' for DLLs.
-set(_RTLDLL "-tWR -tW-")
+if("${CMAKE_${_lang}_COMPILER_VERSION}" VERSION_LESS 6.30)
+  # Borland target type flags (bcc32 -h -t):
+  set(_tW "-tW")       # -tW  GUI App         (implies -U__CONSOLE__)
+  set(_tC "-tWC")      # -tWC Console App     (implies -D__CONSOLE__=1)
+  set(_tD "-tWD")      # -tWD Build a DLL     (implies -D__DLL__=1 -D_DLL=1)
+  set(_tM "-tWM")      # -tWM Enable threads  (implies -D__MT__=1 -D_MT=1)
+  set(_tR "-tWR -tW-") # -tWR Use DLL runtime (implies -D_RTLDLL, and '-tW' too!!)
+  # Notes:
+  #  - The flags affect linking so we pass them to the linker.
+  #  - The flags affect preprocessing so we pass them to the compiler.
+  #  - Since '-tWR' implies '-tW' we use '-tWR -tW-' instead.
+  #  - Since '-tW-' disables '-tWD' we use '-tWR -tW- -tWD' for DLLs.
+else()
+  set(EMBARCADERO 1)
+  set(_tC "-tC") # Target is a console application
+  set(_tD "-tD") # Target is a shared library
+  set(_tM "-tM") # Target is multi-threaded
+  set(_tR "-tR") # Target uses the dynamic RTL
+  set(_tW "-tW") # Target is a Windows application
+endif()
 set(_COMPILE_C "-c")
 set(_COMPILE_CXX "-P -c")
 
@@ -50,14 +57,14 @@ SET(CMAKE_FIND_LIBRARY_SUFFIXES "-bcc.lib" ".lib")
 SET (CMAKE_MANGLE_OBJECT_FILE_NAMES "ON")
 
 # extra flags for a win32 exe
-SET(CMAKE_CREATE_WIN32_EXE "-tW" )
+SET(CMAKE_CREATE_WIN32_EXE "${_tW}" )
 # extra flags for a console app
-SET(CMAKE_CREATE_CONSOLE_EXE "-tWC" )
+SET(CMAKE_CREATE_CONSOLE_EXE "${_tC}" )
 
 SET (CMAKE_BUILD_TYPE Debug CACHE STRING
      "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
 
-SET (CMAKE_EXE_LINKER_FLAGS_INIT "-tWM -lS:10000000 -lSc:10000000 ")
+SET (CMAKE_EXE_LINKER_FLAGS_INIT "${_tM} -lS:10000000 -lSc:10000000 ")
 SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "-v")
 SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "-v")
 SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
@@ -67,18 +74,19 @@ SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
 SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
 SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT})
 
+
 macro(__embarcadero_language lang)
-  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-tWD")
+  set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "${_tD}")
 
   # compile a source file into an object file
   # place <DEFINES> outside the response file because Borland refuses
   # to parse quotes from the response file.
   set(CMAKE_${lang}_COMPILE_OBJECT
-    "<CMAKE_${lang}_COMPILER> ${_RTLDLL} <DEFINES> ${CMAKE_START_TEMP_FILE}-DWIN32 -o<OBJECT> <FLAGS> ${_COMPILE_${lang}} <SOURCE>${CMAKE_END_TEMP_FILE}"
+    "<CMAKE_${lang}_COMPILER> ${_tR} <DEFINES> ${CMAKE_START_TEMP_FILE}-DWIN32 -o<OBJECT> <FLAGS> ${_COMPILE_${lang}} <SOURCE>${CMAKE_END_TEMP_FILE}"
     )
 
   set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> ${_RTLDLL} -e<TARGET> ${CMAKE_START_TEMP_FILE}<LINK_FLAGS> <FLAGS> <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
+    "<CMAKE_${lang}_COMPILER> ${_tR} -e<TARGET> ${CMAKE_START_TEMP_FILE}<LINK_FLAGS> <FLAGS> <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
     # "implib -c -w <TARGET_IMPLIB> <TARGET>"
     )
 
@@ -91,7 +99,7 @@ macro(__embarcadero_language lang)
 
   # Create a module library.
   set(CMAKE_${lang}_CREATE_SHARED_MODULE
-    "<CMAKE_${lang}_COMPILER> ${_RTLDLL} -tWD ${CMAKE_START_TEMP_FILE}-e<TARGET> <LINK_FLAGS> <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
+    "<CMAKE_${lang}_COMPILER> ${_tR} ${_tD} ${CMAKE_START_TEMP_FILE}-e<TARGET> <LINK_FLAGS> <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
     )
 
   # Create an import library for another target.
@@ -112,7 +120,7 @@ macro(__embarcadero_language lang)
     )
 
   # Initial configuration flags.
-  set(CMAKE_${lang}_FLAGS_INIT "-tWM")
+  set(CMAKE_${lang}_FLAGS_INIT "${_tM}")
   set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-Od -v")
   set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-O1 -DNDEBUG")
   set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3f78ced7c2318b23610c6a4ffdf727bde0efa529
commit 3f78ced7c2318b23610c6a4ffdf727bde0efa529
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Feb 17 14:14:16 2012 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Feb 17 17:04:19 2012 -0500

    Rename Modules/Platform/Windows-{Borland => Embarcadero}.cmake
    
    The Borland compiler is now the Embarcadero compiler.  Rename the shared
    platform information file to reflect this.  This does not change the
    interface, as old versions are still "Borland", but will allow new
    versions released by Embarcadero to be supported cleanly.

diff --git a/Modules/Platform/Windows-Borland-C.cmake b/Modules/Platform/Windows-Borland-C.cmake
index ebb74a1..c8abb65 100644
--- a/Modules/Platform/Windows-Borland-C.cmake
+++ b/Modules/Platform/Windows-Borland-C.cmake
@@ -1,2 +1,2 @@
-include(Platform/Windows-Borland)
-__borland_language(C)
+include(Platform/Windows-Embarcadero)
+__embarcadero_language(C)
diff --git a/Modules/Platform/Windows-Borland-CXX.cmake b/Modules/Platform/Windows-Borland-CXX.cmake
index 1260c0e..9704f8a 100644
--- a/Modules/Platform/Windows-Borland-CXX.cmake
+++ b/Modules/Platform/Windows-Borland-CXX.cmake
@@ -1,2 +1,2 @@
-include(Platform/Windows-Borland)
-__borland_language(CXX)
+include(Platform/Windows-Embarcadero)
+__embarcadero_language(CXX)
diff --git a/Modules/Platform/Windows-Borland.cmake b/Modules/Platform/Windows-Embarcadero.cmake
similarity index 98%
rename from Modules/Platform/Windows-Borland.cmake
rename to Modules/Platform/Windows-Embarcadero.cmake
index 5c402bd..a00f798 100644
--- a/Modules/Platform/Windows-Borland.cmake
+++ b/Modules/Platform/Windows-Embarcadero.cmake
@@ -13,10 +13,10 @@
 #  License text for the above reference.)
 
 # This module is shared by multiple languages; use include blocker.
-if(__WINDOWS_BORLAND)
+if(__WINDOWS_EMBARCADERO)
   return()
 endif()
-set(__WINDOWS_BORLAND 1)
+set(__WINDOWS_EMBARCADERO 1)
 
 SET(BORLAND 1)
 
@@ -67,7 +67,7 @@ SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
 SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
 SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT})
 
-macro(__borland_language lang)
+macro(__embarcadero_language lang)
   set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-tWD")
 
   # compile a source file into an object file

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

Summary of changes:
 Modules/CMakeCCompilerId.c.in                      |    6 ++
 Modules/CMakeCXXCompilerId.cpp.in                  |    6 ++
 Modules/Platform/Windows-Borland-C.cmake           |    3 +-
 Modules/Platform/Windows-Borland-CXX.cmake         |    3 +-
 Modules/Platform/Windows-Embarcadero-C.cmake       |    3 +
 Modules/Platform/Windows-Embarcadero-CXX.cmake     |    3 +
 ...ows-Borland.cmake => Windows-Embarcadero.cmake} |   58 +++++++++++---------
 7 files changed, 53 insertions(+), 29 deletions(-)
 create mode 100644 Modules/Platform/Windows-Embarcadero-C.cmake
 create mode 100644 Modules/Platform/Windows-Embarcadero-CXX.cmake
 rename Modules/Platform/{Windows-Borland.cmake => Windows-Embarcadero.cmake} (65%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list