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  8c9e5f5e73a474ab208694007e0bee63cb801304 (commit)
       via  3d612c735285d9a63d4981a2ca7bff44cd741e4b (commit)
       via  886dcaa7c5f91269b91da857d6eb2db3610d385e (commit)
       via  ea98667682f29e8f900c01c5c36eebebf80ea8c7 (commit)
      from  2a558989f553964140f612fc6d7d0cc3dcae1a19 (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=8c9e5f5e73a474ab208694007e0bee63cb801304
commit 8c9e5f5e73a474ab208694007e0bee63cb801304
Merge: 2a55898 3d612c7
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Feb 24 09:33:20 2015 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Feb 24 09:33:20 2015 -0500

    Merge topic 'refine-MSVC-ARM-WinCE' into next
    
    3d612c73 MSVC: Compile with arch-specific flags on ARM platforms (#14552)
    886dcaa7 MSVC: Distinguish among ARM architectures more precisely (#14552)
    ea986676 MSVC: Define /DWINCE when building for WinCE platforms (#14552)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3d612c735285d9a63d4981a2ca7bff44cd741e4b
commit 3d612c735285d9a63d4981a2ca7bff44cd741e4b
Author:     Gunnar Roth <gunnar.r...@gmx.de>
AuthorDate: Fri Feb 13 10:14:34 2015 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Feb 24 09:33:08 2015 -0500

    MSVC: Compile with arch-specific flags on ARM platforms (#14552)
    
    Define the exact ARM architecture name as a preprocessor symbol.
    Compile with /QRarch4T or /QRarch5T on ARMV4I or ARMV5I.

diff --git a/Modules/Platform/Windows-MSVC.cmake 
b/Modules/Platform/Windows-MSVC.cmake
index 6df377b..267de3c 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -159,7 +159,18 @@ if(WINCE)
   set(_PLATFORM_DEFINES_CXX " /D${_MSVC_CXX_ARCHITECTURE_FAMILY} 
/D_${_MSVC_CXX_ARCHITECTURE_FAMILY_UPPER}_")
 
   set(_RTC1 "")
+  set(_FLAGS_C "")
   set(_FLAGS_CXX " /GR /EHsc")
+
+  foreach(lang C CXX)
+    if(_MSVC_${lang}_ARCHITECTURE_FAMILY STREQUAL "ARM")
+      set(_PLATFORM_DEFINES_${lang} "${_PLATFORM_DEFINES_${lang}} 
/D${MSVC_${lang}_ARCHITECTURE_ID}")
+      if(MSVC_${lang}_ARCHITECTURE_ID MATCHES "^ARMV([45])I$")
+        set(_FLAGS_${lang} "${_FLAGS_${lang}} /QRarch${CMAKE_MATCH_1}T")
+      endif()
+    endif()
+  endforeach()
+
   set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib ole32.lib oleaut32.lib 
uuid.lib commctrl.lib")
   set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} 
/NODEFAULTLIB:libc.lib /NODEFAULTLIB:oldnames.lib")
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=886dcaa7c5f91269b91da857d6eb2db3610d385e
commit 886dcaa7c5f91269b91da857d6eb2db3610d385e
Author:     Gunnar Roth <gunnar.r...@gmx.de>
AuthorDate: Fri Feb 13 10:11:38 2015 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Feb 24 09:33:08 2015 -0500

    MSVC: Distinguish among ARM architectures more precisely (#14552)
    
    Detect the exact ARM architecture instead of just "ARM".  Treat "ARM" as
    an architecture family that includes THUMB (ARMV4I and ARMV5I).

diff --git a/Modules/CMakeDetermineCompilerId.cmake 
b/Modules/CMakeDetermineCompilerId.cmake
index d22a867..403ac08 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -508,8 +508,6 @@ function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
         set(ARCHITECTURE_ID "SH4")
       elseif(peheader STREQUAL "50450000a801")
         set(ARCHITECTURE_ID "SH5")
-      elseif(peheader STREQUAL "50450000c201")
-        set(ARCHITECTURE_ID "THUMB")
       endif()
     endif()
 
diff --git a/Modules/CMakePlatformId.h.in b/Modules/CMakePlatformId.h.in
index bc26c07..da99b9e 100644
--- a/Modules/CMakePlatformId.h.in
+++ b/Modules/CMakePlatformId.h.in
@@ -1,3 +1,6 @@
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
 /* Identify known platforms by name.  */
 #if defined(__linux) || defined(__linux__) || defined(linux)
 # define PLATFORM_ID "Linux"
@@ -112,7 +115,13 @@
 #  define ARCHITECTURE_ID "X86"
 
 # elif defined(_M_ARM)
-#  define ARCHITECTURE_ID "ARM"
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
 
 # elif defined(_M_MIPS)
 #  define ARCHITECTURE_ID "MIPS"
diff --git a/Modules/Platform/Windows-MSVC.cmake 
b/Modules/Platform/Windows-MSVC.cmake
index 4098c3f..6df377b 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -131,14 +131,18 @@ endif()
 # default to Debug builds
 set(CMAKE_BUILD_TYPE_INIT Debug)
 
+# Compute an architecture family from the architecture id.
+foreach(lang C CXX)
+  set(_MSVC_${lang}_ARCHITECTURE_FAMILY "${MSVC_${lang}_ARCHITECTURE_ID}")
+  if(_MSVC_${lang}_ARCHITECTURE_FAMILY MATCHES "^ARM")
+    set(_MSVC_${lang}_ARCHITECTURE_FAMILY "ARM")
+  elseif(_MSVC_${lang}_ARCHITECTURE_FAMILY MATCHES "^SH")
+    set(_MSVC_${lang}_ARCHITECTURE_FAMILY "SHx")
+  endif()
+endforeach()
+
 if(WINCE)
   foreach(lang C CXX)
-    set(_MSVC_${lang}_ARCHITECTURE_FAMILY "${MSVC_${lang}_ARCHITECTURE_ID}")
-    if(_MSVC_${lang}_ARCHITECTURE_FAMILY STREQUAL "THUMB")
-      set(_MSVC_${lang}_ARCHITECTURE_FAMILY "ARM")
-    elseif(_MSVC_${lang}_ARCHITECTURE_FAMILY MATCHES "^SH")
-      set(_MSVC_${lang}_ARCHITECTURE_FAMILY "SHx")
-    endif()
     string(TOUPPER "${_MSVC_${lang}_ARCHITECTURE_FAMILY}" 
_MSVC_${lang}_ARCHITECTURE_FAMILY_UPPER)
   endforeach()
 
@@ -168,7 +172,7 @@ elseif(WINDOWS_PHONE OR WINDOWS_STORE)
   set(_FLAGS_CXX " /DUNICODE /D_UNICODE /GR /EHsc")
   if(WINDOWS_PHONE)
     set(CMAKE_C_STANDARD_LIBRARIES_INIT "WindowsPhoneCore.lib 
RuntimeObject.lib PhoneAppModelHost.lib")
-  elseif(MSVC_C_ARCHITECTURE_ID STREQUAL ARM OR MSVC_CXX_ARCHITECTURE_ID 
STREQUAL ARM)
+  elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM" OR 
_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
     set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib")
   else()
     set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib 
uuid.lib odbc32.lib odbccp32.lib")
@@ -176,7 +180,7 @@ elseif(WINDOWS_PHONE OR WINDOWS_STORE)
 else()
   set(_PLATFORM_DEFINES "/DWIN32")
 
-  if(MSVC_C_ARCHITECTURE_ID STREQUAL ARM OR MSVC_CXX_ARCHITECTURE_ID STREQUAL 
ARM)
+  if(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM" OR 
_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
     set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib")
   elseif(MSVC_VERSION GREATER 1310)
     set(_RTC1 "/RTC1")
@@ -200,9 +204,21 @@ set(CMAKE_CXX_STANDARD_LIBRARIES_INIT 
"${CMAKE_C_STANDARD_LIBRARIES_INIT}")
 set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
 # set the machine type
 if(MSVC_C_ARCHITECTURE_ID)
-  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
+  if(MSVC_C_ARCHITECTURE_ID MATCHES "^ARMV.I")
+    set(_MACHINE_ARCH_FLAG "/machine:THUMB")
+  elseif(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM")
+    set(_MACHINE_ARCH_FLAG "/machine:ARM")
+  else()
+    set(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
+  endif()
 elseif(MSVC_CXX_ARCHITECTURE_ID)
-  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
+  if(MSVC_CXX_ARCHITECTURE_ID MATCHES "^ARMV.I")
+    set(_MACHINE_ARCH_FLAG "/machine:THUMB")
+  elseif(_MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
+    set(_MACHINE_ARCH_FLAG "/machine:ARM")
+  else()
+    set(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
+  endif()
 elseif(MSVC_Fortran_ARCHITECTURE_ID)
   set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
 endif()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ea98667682f29e8f900c01c5c36eebebf80ea8c7
commit ea98667682f29e8f900c01c5c36eebebf80ea8c7
Author:     Gunnar Roth <gunnar.r...@gmx.de>
AuthorDate: Fri Feb 13 10:10:26 2015 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Feb 24 09:33:06 2015 -0500

    MSVC: Define /DWINCE when building for WinCE platforms (#14552)

diff --git a/Modules/Platform/Windows-MSVC.cmake 
b/Modules/Platform/Windows-MSVC.cmake
index 2440f89..4098c3f 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -150,7 +150,7 @@ if(WINCE)
     message(FATAL_ERROR "Invalid Windows CE version: ${CMAKE_SYSTEM_VERSION}")
   endif()
 
-  set(_PLATFORM_DEFINES "/D_WIN32_WCE=0x${_CE_VERSION} /DUNDER_CE")
+  set(_PLATFORM_DEFINES "/D_WIN32_WCE=0x${_CE_VERSION} /DUNDER_CE /DWINCE")
   set(_PLATFORM_DEFINES_C " /D${_MSVC_C_ARCHITECTURE_FAMILY} 
/D_${_MSVC_C_ARCHITECTURE_FAMILY_UPPER}_")
   set(_PLATFORM_DEFINES_CXX " /D${_MSVC_CXX_ARCHITECTURE_FAMILY} 
/D_${_MSVC_CXX_ARCHITECTURE_FAMILY_UPPER}_")
 

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

Summary of changes:


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to