[cmake-commits] alex committed CMakeCInformation.cmake 1.15 1.16 CMakeCXXInformation.cmake 1.18 1.19 CMakeDetermineCCompiler.cmake 1.46 1.47 CMakeDetermineCXXCompiler.cmake 1.39 1.40 CMakeSystemSpecificInformation.cmake 1.37 1.38

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Jul 2 13:29:38 EDT 2007


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

Modified Files:
	CMakeCInformation.cmake CMakeCXXInformation.cmake 
	CMakeDetermineCCompiler.cmake CMakeDetermineCXXCompiler.cmake 
	CMakeSystemSpecificInformation.cmake 
Log Message:

ENH: remove support for presetting CMAKE_SYSTEM_INFO_FILE,
CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE, CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE, 
CMAKE_SYSTEM_AND_C_COMPILER_AND_PROCESSOR_INFO_FILE and CMAKE_SYSTEM_AND_CXX_COMPILER_AND_PROCESSOR_INFO_FILE

Instead of presetting these variables to arbitrary filenames, users should
set up CMAKE_SYSTEM_NAME and the compilers correctly and also create a
Platform/ directory so these files will all follow the official cmake style,
which should make it easier to understand and debug project which have their
own platform/toolchain support files.

-remove support for a suffix to MS crosscompilers, since this is not (yet)
supported by cmake and might confuse users

Alex


Index: CMakeCXXInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCXXInformation.cmake,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- CMakeCXXInformation.cmake	12 Jun 2007 20:41:50 -0000	1.18
+++ CMakeCXXInformation.cmake	2 Jul 2007 17:29:36 -0000	1.19
@@ -21,30 +21,23 @@
 ENDIF(CMAKE_COMPILER_IS_GNUCXX)
 
 
-IF(CMAKE_SYSTEM_AND_CXX_COMPILER_AND_PROCESSOR_INFO_FILE)
-  INCLUDE(${CMAKE_SYSTEM_AND_CXX_COMPILER_AND_PROCESSOR_INFO_FILE} OPTIONAL)
-ELSE(CMAKE_SYSTEM_AND_CXX_COMPILER_AND_PROCESSOR_INFO_FILE)
-  IF(CMAKE_SYSTEM_PROCESSOR)
-    IF(CMAKE_CXX_COMPILER_ID)
-      INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-    ENDIF(CMAKE_CXX_COMPILER_ID)
-    IF (NOT _INCLUDED_FILE)
-      INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
-    ENDIF (NOT _INCLUDED_FILE)
-  ENDIF(CMAKE_SYSTEM_PROCESSOR)
-ENDIF(CMAKE_SYSTEM_AND_CXX_COMPILER_AND_PROCESSOR_INFO_FILE)
-
-
-IF(CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE)
-  INCLUDE(${CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE} OPTIONAL)
-ELSE(CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE)
+# load a hardware specific file, mostly useful for embedded compilers
+IF(CMAKE_SYSTEM_PROCESSOR)
   IF(CMAKE_CXX_COMPILER_ID)
-    INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+    INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
   ENDIF(CMAKE_CXX_COMPILER_ID)
   IF (NOT _INCLUDED_FILE)
-    INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
+    INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
   ENDIF (NOT _INCLUDED_FILE)
-ENDIF(CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE)
+ENDIF(CMAKE_SYSTEM_PROCESSOR)
+
+# load the system- and compiler specific files
+IF(CMAKE_CXX_COMPILER_ID)
+  INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+ENDIF(CMAKE_CXX_COMPILER_ID)
+IF (NOT _INCLUDED_FILE)
+  INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
+ENDIF (NOT _INCLUDED_FILE)
 
 
 # This should be included before the _INIT variables are

Index: CMakeSystemSpecificInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeSystemSpecificInformation.cmake,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- CMakeSystemSpecificInformation.cmake	17 May 2007 17:20:43 -0000	1.37
+++ CMakeSystemSpecificInformation.cmake	2 Jul 2007 17:29:36 -0000	1.38
@@ -7,9 +7,7 @@
 INCLUDE(CMakeGenericSystem)
 
 # 2. now include SystemName.cmake file to set the system specific information
-IF(NOT CMAKE_SYSTEM_INFO_FILE)
-  SET(CMAKE_SYSTEM_INFO_FILE Platform/${CMAKE_SYSTEM_NAME})
-ENDIF(NOT CMAKE_SYSTEM_INFO_FILE)
+SET(CMAKE_SYSTEM_INFO_FILE Platform/${CMAKE_SYSTEM_NAME})
 
 INCLUDE(${CMAKE_SYSTEM_INFO_FILE} OPTIONAL RESULT_VARIABLE _INCLUDED_SYSTEM_INFO_FILE)
 

Index: CMakeDetermineCXXCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCXXCompiler.cmake,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- CMakeDetermineCXXCompiler.cmake	26 Jun 2007 17:00:42 -0000	1.39
+++ CMakeDetermineCXXCompiler.cmake	2 Jul 2007 17:29:36 -0000	1.40
@@ -7,9 +7,6 @@
 # as a default compiler
 # If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used 
 # as prefix for the tools (e.g. arm-elf-g++, arm-elf-ar etc.)
-# It also tries to detect a MS crosscompiler and find out its 
-# suffix (clarm.exe), which will be stored in _CMAKE_TOOLCHAIN_SUFFIX and
-# reused for the C compiler.
 #
 # Sets the following variables:
 #   CMAKE_CXX_COMPILER
@@ -19,7 +16,6 @@
 #
 # If not already set before, it also sets
 #   _CMAKE_TOOLCHAIN_PREFIX
-#   _CMAKE_TOOLCHAIN_SUFFIX
 
 IF(NOT CMAKE_CXX_COMPILER)
   SET(CMAKE_CXX_COMPILER_INIT NOTFOUND)
@@ -46,7 +42,7 @@
   IF(CMAKE_CXX_COMPILER_INIT)
     SET(CMAKE_CXX_COMPILER_LIST ${CMAKE_CXX_COMPILER_INIT})
   ELSE(CMAKE_CXX_COMPILER_INIT)
-    SET(CMAKE_CXX_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ CC aCC cl${_CMAKE_TOOLCHAIN_SUFFIX} bcc xlC)
+    SET(CMAKE_CXX_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ CC aCC cl bcc xlC)
   ENDIF(CMAKE_CXX_COMPILER_INIT)
 
   # Find the compiler.
@@ -93,16 +89,6 @@
   ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+")
 ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
 
-# if we have a MS cross compiler, it usually has a suffix, like 
-# e.g. clarm.exe or clmips.exe. Use this suffix for the CXX compiler too.
-IF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
-  GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
-  IF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
-    STRING(REGEX REPLACE "^cl(.+)\\.exe$"  "\\1" _CMAKE_TOOLCHAIN_SUFFIX "${COMPILER_BASENAME}")
-  ENDIF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
-ENDIF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
-
-
 # This block was used before the compiler was identified by building a
 # source file.  Unless g++ crashes when building a small C++
 # executable this should no longer be needed.

Index: CMakeCInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCInformation.cmake,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- CMakeCInformation.cmake	12 Jun 2007 20:41:50 -0000	1.15
+++ CMakeCInformation.cmake	2 Jul 2007 17:29:36 -0000	1.16
@@ -19,30 +19,24 @@
 ENDIF(CMAKE_COMPILER_IS_GNUCC)
 
 
-IF(CMAKE_SYSTEM_AND_C_COMPILER_AND_PROCESSOR_INFO_FILE)
-  INCLUDE(${CMAKE_SYSTEM_AND_C_COMPILER_AND_PROCESSOR_INFO_FILE} OPTIONAL)
-ELSE(CMAKE_SYSTEM_AND_C_COMPILER_AND_PROCESSOR_INFO_FILE)
-  IF(CMAKE_SYSTEM_PROCESSOR)
-    IF(CMAKE_C_COMPILER_ID)
-      INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-    ENDIF(CMAKE_C_COMPILER_ID)
-    IF (NOT _INCLUDED_FILE)
-      INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
-    ENDIF (NOT _INCLUDED_FILE)
-  ENDIF(CMAKE_SYSTEM_PROCESSOR)
-ENDIF(CMAKE_SYSTEM_AND_C_COMPILER_AND_PROCESSOR_INFO_FILE)
-
-
-IF(CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE)
-  INCLUDE(${CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE} OPTIONAL)
-ELSE(CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE)
+# load a hardware specific file, mostly useful for embedded compilers
+IF(CMAKE_SYSTEM_PROCESSOR)
   IF(CMAKE_C_COMPILER_ID)
-    INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+    INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
   ENDIF(CMAKE_C_COMPILER_ID)
   IF (NOT _INCLUDED_FILE)
-    INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
+    INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
   ENDIF (NOT _INCLUDED_FILE)
-ENDIF(CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE)
+ENDIF(CMAKE_SYSTEM_PROCESSOR)
+
+
+# load the system- and compiler specific files
+IF(CMAKE_C_COMPILER_ID)
+  INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+ENDIF(CMAKE_C_COMPILER_ID)
+IF (NOT _INCLUDED_FILE)
+  INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
+ENDIF (NOT _INCLUDED_FILE)
 
 
 # This should be included before the _INIT variables are

Index: CMakeDetermineCCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCCompiler.cmake,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- CMakeDetermineCCompiler.cmake	26 Jun 2007 17:00:42 -0000	1.46
+++ CMakeDetermineCCompiler.cmake	2 Jul 2007 17:29:36 -0000	1.47
@@ -8,10 +8,6 @@
 # If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used 
 # as prefix for the tools (e.g. arm-elf-gcc, arm-elf-ar etc.). This works
 # currently with the GNU crosscompilers.
-# It also tries to detect a MS crosscompiler and find out its 
-# suffix (clarm.exe), which will be stored in _CMAKE_TOOLCHAIN_SUFFIX and
-# reused for the CXX compiler.
-#
 #
 # Sets the following variables: 
 #   CMAKE_C_COMPILER
@@ -21,7 +17,6 @@
 #
 # If not already set before, it also sets
 #   _CMAKE_TOOLCHAIN_PREFIX
-#   _CMAKE_TOOLCHAIN_SUFFIX
 
 IF(NOT CMAKE_C_COMPILER)
   SET(CMAKE_CXX_COMPILER_INIT NOTFOUND)
@@ -48,7 +43,7 @@
   IF(CMAKE_C_COMPILER_INIT)
     SET(CMAKE_C_COMPILER_LIST ${CMAKE_C_COMPILER_INIT})
   ELSE(CMAKE_C_COMPILER_INIT)
-    SET(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gcc ${_CMAKE_TOOLCHAIN_PREFIX}cc cl${_CMAKE_TOOLCHAIN_SUFFIX} bcc xlc)
+    SET(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gcc ${_CMAKE_TOOLCHAIN_PREFIX}cc cl bcc xlc)
   ENDIF(CMAKE_C_COMPILER_INIT)
 
   # Find the compiler.
@@ -95,15 +90,6 @@
   ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc")
 ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
 
-# if we have a MS cross compiler, it usually has a suffix, like 
-# e.g. clarm.exe or clmips.exe. Use this suffix for the CXX compiler too.
-# the same is true e.g. for the IAR cross compiler, which is "icc<suffix>"
-IF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
-  GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
-  IF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
-    STRING(REGEX REPLACE "^cl(.+)\\.exe$"  "\\1" _CMAKE_TOOLCHAIN_SUFFIX "${COMPILER_BASENAME}")
-  ENDIF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
-ENDIF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
 
 # Build a small source file to identify the compiler.
 IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")



More information about the Cmake-commits mailing list