[Cmake-commits] [cmake-commits] alex committed CMakeDetermineCCompiler.cmake 1.53 1.54 CMakeDetermineCXXCompiler.cmake 1.46 1.47

cmake-commits at cmake.org cmake-commits at cmake.org
Sun Sep 7 16:54:03 EDT 2008


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv3338

Modified Files:
	CMakeDetermineCCompiler.cmake CMakeDetermineCXXCompiler.cmake 
Log Message:
BUG: #7359 make llvm-gcc work, by explicitely excluding "llvm-" from _CMAKE_TOOLCHAIN_PREFIX
 (use the (relatively) new CMAKE_MATCH_x variables set by all regex operations) 

Alex


Index: CMakeDetermineCXXCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCXXCompiler.cmake,v
retrieving revision 1.46
retrieving revision 1.47
diff -C 2 -d -r1.46 -r1.47
*** CMakeDetermineCXXCompiler.cmake	15 May 2008 16:07:43 -0000	1.46
--- CMakeDetermineCXXCompiler.cmake	7 Sep 2008 20:54:01 -0000	1.47
***************
*** 98,103 ****
    GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
    IF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(\\.exe)?$")
!     STRING(REGEX REPLACE "^(.+-)[gc]\\+\\+(\\.exe)?$"  "\\1" _CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
    ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(\\.exe)?$")
  ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
  
--- 98,110 ----
    GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
    IF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(\\.exe)?$")
!     SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
    ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(\\.exe)?$")
+ 
+   # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
+   # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
+   IF ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+     SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+   ENDIF ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+ 
  ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
  

Index: CMakeDetermineCCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCCompiler.cmake,v
retrieving revision 1.53
retrieving revision 1.54
diff -C 2 -d -r1.53 -r1.54
*** CMakeDetermineCCompiler.cmake	15 May 2008 16:07:43 -0000	1.53
--- CMakeDetermineCCompiler.cmake	7 Sep 2008 20:54:01 -0000	1.54
***************
*** 98,103 ****
    GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
    IF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(\\.exe)?$")
!     STRING(REGEX REPLACE "^(.+-)g?cc(\\.exe)?$"  "\\1" _CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
    ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(\\.exe)?$")
  ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
  
--- 98,110 ----
    GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
    IF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(\\.exe)?$")
!     SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
    ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(\\.exe)?$")
+ 
+   # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
+   # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
+   IF ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+     SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+   ENDIF ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+ 
  ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
  



More information about the Cmake-commits mailing list