[cmake-commits] alex committed CMakeDetermineCCompiler.cmake 1.39.2.6 1.39.2.7 CMakeDetermineCXXCompiler.cmake 1.34.2.5 1.34.2.6 CMakeFindBinUtils.cmake 1.1.2.1 1.1.2.2 CMakeGenericSystem.cmake 1.13.4.1 1.13.4.2

cmake-commits at cmake.org cmake-commits at cmake.org
Tue May 15 13:30:41 EDT 2007


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

Modified Files:
      Tag: CMake-CrossCompileBasic
	CMakeDetermineCCompiler.cmake CMakeDetermineCXXCompiler.cmake 
	CMakeFindBinUtils.cmake CMakeGenericSystem.cmake 
Log Message:

ENH: some adjustments as suggested by Brad: only check for the various
"binutils" on the respective platform, hardcode the strip command, make the
return variable of include() available also without OPTIONAL, honor DESTDIR
for strip and ranlib
-use FIND_PROGRAM(CMAKE_LINKER link) for the MSVC linker

Alex


Index: CMakeDetermineCXXCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCXXCompiler.cmake,v
retrieving revision 1.34.2.5
retrieving revision 1.34.2.6
diff -u -d -r1.34.2.5 -r1.34.2.6
--- CMakeDetermineCXXCompiler.cmake	14 May 2007 15:07:59 -0000	1.34.2.5
+++ CMakeDetermineCXXCompiler.cmake	15 May 2007 17:30:38 -0000	1.34.2.6
@@ -86,8 +86,6 @@
   ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+")
 ENDIF (NOT CMAKE_TOOLCHAIN_PREFIX)
 
-INCLUDE(CMakeFindBinUtils)
-
 # some exotic compilers have different extensions (e.g. sdcc uses .rel)
 # so don't overwrite it if it has been already defined by the user
 IF(NOT CMAKE_CXX_OUTPUT_EXTENSION)
@@ -139,6 +137,8 @@
   ENDIF("${CMAKE_CXX_PLATFORM_ID}" MATCHES "MinGW")
 ENDIF(NOT CMAKE_CXX_COMPILER_ID_RUN)
 
+INCLUDE(CMakeFindBinUtils)
+
 # configure all variables set in this file
 CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in 
                ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCXXCompiler.cmake IMMEDIATE)

Index: CMakeFindBinUtils.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Attic/CMakeFindBinUtils.cmake,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -d -r1.1.2.1 -r1.1.2.2
--- CMakeFindBinUtils.cmake	14 May 2007 15:07:59 -0000	1.1.2.1
+++ CMakeFindBinUtils.cmake	15 May 2007 17:30:38 -0000	1.1.2.2
@@ -10,27 +10,43 @@
 # Sets the following variables: 
 #   CMAKE_AR
 #   CMAKE_RANLIB
+#   CMAKE_LINKER
 #   CMAKE_STRIP
 #   CMAKE_INSTALL_NAME_TOOL
 
+# on UNIX, cygwin and mingw
+IF(UNIX OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+  FIND_PROGRAM(CMAKE_AR NAMES ${CMAKE_TOOLCHAIN_PREFIX}ar PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+  FIND_PROGRAM(CMAKE_AR NAMES ${CMAKE_TOOLCHAIN_PREFIX}ar)
 
-FIND_PROGRAM(CMAKE_AR NAMES ${CMAKE_TOOLCHAIN_PREFIX}ar PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
-FIND_PROGRAM(CMAKE_AR NAMES ${CMAKE_TOOLCHAIN_PREFIX}ar)
+  FIND_PROGRAM(CMAKE_RANLIB NAMES ${CMAKE_TOOLCHAIN_PREFIX}ranlib ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+  FIND_PROGRAM(CMAKE_RANLIB NAMES ${CMAKE_TOOLCHAIN_PREFIX}ranlib)
+  IF(NOT CMAKE_RANLIB)
+    SET(CMAKE_RANLIB : CACHE INTERNAL "noop for ranlib")
+  ENDIF(NOT CMAKE_RANLIB)
 
-FIND_PROGRAM(CMAKE_RANLIB NAMES ${CMAKE_TOOLCHAIN_PREFIX}ranlib ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
-FIND_PROGRAM(CMAKE_RANLIB NAMES ${CMAKE_TOOLCHAIN_PREFIX}ranlib)
-IF(NOT CMAKE_RANLIB)
-   SET(CMAKE_RANLIB : CACHE INTERNAL "noop for ranlib")
-ENDIF(NOT CMAKE_RANLIB)
+  FIND_PROGRAM(CMAKE_STRIP NAMES ${CMAKE_TOOLCHAIN_PREFIX}strip PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+  FIND_PROGRAM(CMAKE_STRIP NAMES ${CMAKE_TOOLCHAIN_PREFIX}strip)
 
-# used in cpack
-FIND_PROGRAM(CMAKE_STRIP NAMES ${CMAKE_TOOLCHAIN_PREFIX}strip PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
-FIND_PROGRAM(CMAKE_STRIP NAMES ${CMAKE_TOOLCHAIN_PREFIX}strip)
+  FIND_PROGRAM(CMAKE_LINKER NAMES ${CMAKE_TOOLCHAIN_PREFIX}ld PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+  FIND_PROGRAM(CMAKE_LINKER NAMES ${CMAKE_TOOLCHAIN_PREFIX}ld)
 
-# should only exist on OSX, used for installing
-FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
-FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool)
+  MARK_AS_ADVANCED(CMAKE_AR CMAKE_RANLIB CMAKE_STRIP CMAKE_LINKER)
 
-MARK_AS_ADVANCED(CMAKE_AR CMAKE_RANLIB CMAKE_STRIP CMAKE_INSTALL_NAME_TOOL)
+ENDIF(UNIX OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+
+IF(APPLE)
+  FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+  FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool)
+
+  MARK_AS_ADVANCED(CMAKE_INSTALL_NAME_TOOL)
+ENDIF(APPLE)
+
+IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC")
+  FIND_PROGRAM(CMAKE_LINKER NAMES link PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+  FIND_PROGRAM(CMAKE_LINKER NAMES link)
+
+  MARK_AS_ADVANCED(CMAKE_LINKER)
+ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC")
 
 # maybe check for more tools ?

Index: CMakeGenericSystem.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeGenericSystem.cmake,v
retrieving revision 1.13.4.1
retrieving revision 1.13.4.2
diff -u -d -r1.13.4.1 -r1.13.4.2
--- CMakeGenericSystem.cmake	14 May 2007 20:28:07 -0000	1.13.4.1
+++ CMakeGenericSystem.cmake	15 May 2007 17:30:38 -0000	1.13.4.2
@@ -73,7 +73,10 @@
     CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
 ENDIF(UNIX)
 
-SET(CMAKE_INSTALL_DO_STRIP FALSE CACHE BOOL "If set to true, executables and libraries will be stripped when installing.")
+IF(CMAKE_STRIP)
+  SET(CMAKE_INSTALL_DO_STRIP FALSE CACHE BOOL "If set to true, executables and libraries will be stripped when installing.")
+  MARK_AS_ADVANCED(CMAKE_INSTALL_DO_STRIP)
+ENDIF(CMAKE_STRIP)
 
 MARK_AS_ADVANCED(
   CMAKE_SKIP_RPATH

Index: CMakeDetermineCCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCCompiler.cmake,v
retrieving revision 1.39.2.6
retrieving revision 1.39.2.7
diff -u -d -r1.39.2.6 -r1.39.2.7
--- CMakeDetermineCCompiler.cmake	14 May 2007 15:07:59 -0000	1.39.2.6
+++ CMakeDetermineCCompiler.cmake	15 May 2007 17:30:38 -0000	1.39.2.7
@@ -70,7 +70,7 @@
     SET(CMAKE_C_COMPILER ${CMAKE_C_COMPILER_WITH_PATH} CACHE FILEPATH "C compiler" FORCE)
   ENDIF(NOT CMAKE_C_COMPILER_PATH)
 ENDIF(NOT CMAKE_C_COMPILER)
-MARK_AS_ADVANCED(CMAKE_C_COMPILER)  
+MARK_AS_ADVANCED(CMAKE_C_COMPILER)
 
 IF (NOT CMAKE_TOOLCHAIN_LOCATION)
   GET_FILENAME_COMPONENT(CMAKE_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
@@ -86,8 +86,6 @@
   ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc")
 ENDIF (NOT CMAKE_TOOLCHAIN_PREFIX)
 
-INCLUDE(CMakeFindBinUtils)
-
 # some exotic compilers have different extensions (e.g. sdcc uses .rel)
 # so don't overwrite it if it has been already defined by the user
 IF(NOT CMAKE_C_OUTPUT_EXTENSION)
@@ -128,8 +126,12 @@
   ENDIF("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW")
 ENDIF(NOT CMAKE_C_COMPILER_ID_RUN)
 
+INCLUDE(CMakeFindBinUtils)
+
 # configure variables set in this file for fast reload later on
 CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in 
                "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCCompiler.cmake" IMMEDIATE)
 
 SET(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+



More information about the Cmake-commits mailing list