[cmake-commits] alex committed CMakeDetermineCCompiler.cmake 1.42 1.43 CMakeDetermineSystem.cmake 1.20 1.21 CMakeLists.txt 1.10 1.11 CMakeSystem.cmake.in 1.5 1.6 CMakeSystemWithToolchainFile.cmake.in NONE 1.1

cmake-commits at cmake.org cmake-commits at cmake.org
Mon May 21 11:26:43 EDT 2007


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

Modified Files:
	CMakeDetermineCCompiler.cmake CMakeDetermineSystem.cmake 
	CMakeLists.txt CMakeSystem.cmake.in 
Added Files:
	CMakeSystemWithToolchainFile.cmake.in 
Log Message:

STYLE: use a separate source file for generating CMakeSystem.cmake if CMAKE_TOOLCHAIN_FILE is used

Alex


Index: CMakeSystem.cmake.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeSystem.cmake.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CMakeSystem.cmake.in	17 May 2007 17:20:43 -0000	1.5
+++ CMakeSystem.cmake.in	21 May 2007 15:26:40 -0000	1.6
@@ -1,21 +1,6 @@
-IF("@CMAKE_TOOLCHAIN_FILE@" STREQUAL "")
-
-  SET(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
-  SET(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
-  SET(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
-  SET(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
-  
-ELSE("@CMAKE_TOOLCHAIN_FILE@" STREQUAL "")
-
-  INCLUDE("@CMAKE_TOOLCHAIN_FILE@")
-
-# set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME
-  SET(CMAKE_SYSTEM  ${CMAKE_SYSTEM_NAME})
-# if there is a CMAKE_SYSTEM_VERSION then add a -${CMAKE_SYSTEM_VERSION}
-  IF(CMAKE_SYSTEM_VERSION)
-    SET(CMAKE_SYSTEM ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_VERSION})
-  ENDIF(CMAKE_SYSTEM_VERSION)
-
-ENDIF("@CMAKE_TOOLCHAIN_FILE@" STREQUAL "")
+SET(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
+SET(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
+SET(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
+SET(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
 
 SET(CMAKE_SYSTEM_LOADED 1)

Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeLists.txt,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- CMakeLists.txt	17 May 2007 17:20:43 -0000	1.10
+++ CMakeLists.txt	21 May 2007 15:26:40 -0000	1.11
@@ -1,5 +1,5 @@
 # just install the modules
-# new file added, force rerunning cmake
+# new file added, force rerunning cmake #
 
 SUBDIRS(Platform)
 INSTALL_FILES(${CMAKE_DATA_DIR}/Modules .*\\.cmake$)

--- NEW FILE: CMakeSystemWithToolchainFile.cmake.in ---

INCLUDE("@CMAKE_TOOLCHAIN_FILE@")

# set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME
SET(CMAKE_SYSTEM  ${CMAKE_SYSTEM_NAME})
# if there is a CMAKE_SYSTEM_VERSION then add a -${CMAKE_SYSTEM_VERSION}
IF(CMAKE_SYSTEM_VERSION)
  SET(CMAKE_SYSTEM ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_VERSION})
ENDIF(CMAKE_SYSTEM_VERSION)

SET(CMAKE_SYSTEM_LOADED 1)

Index: CMakeDetermineSystem.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineSystem.cmake,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- CMakeDetermineSystem.cmake	20 May 2007 14:08:38 -0000	1.20
+++ CMakeDetermineSystem.cmake	21 May 2007 15:26:40 -0000	1.21
@@ -26,6 +26,10 @@
 # cygwin                        CYGWIN_NT-5.1
 # MacOSX                        Darwin
 
+
+#set the source file which will be configured to become CMakeSystem.cmake
+SET(_CMAKE_SYSTEM_TEMPLATE_FILE ${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in )
+
 IF(CMAKE_TOOLCHAIN_FILE)
   # at first try to load it as path relative to the directory from which cmake has been run
   INCLUDE("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
@@ -40,6 +44,9 @@
     MESSAGE(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}") 
   ENDIF(_INCLUDED_TOOLCHAIN_FILE)
 
+  # use a different source file for CMakeSystem.cmake, since it has to hold a bit more information
+  SET(_CMAKE_SYSTEM_TEMPLATE_FILE ${CMAKE_ROOT}/Modules/CMakeSystemWithToolchainFile.cmake.in )
+
   IF(NOT DEFINED CMAKE_CROSSCOMPILING)
     SET(CMAKE_CROSSCOMPILING TRUE)
   ENDIF(NOT DEFINED CMAKE_CROSSCOMPILING)
@@ -105,8 +112,8 @@
 FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log 
   "The system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
 
-# configure variables set in this file for fast reload
-CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in 
+# configure variables set in this file for fast reload, the template file is defined at the top of this file
+CONFIGURE_FILE(${_CMAKE_SYSTEM_TEMPLATE_FILE}
                ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake 
                IMMEDIATE @ONLY)
 

Index: CMakeDetermineCCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCCompiler.cmake,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- CMakeDetermineCCompiler.cmake	21 May 2007 14:58:04 -0000	1.42
+++ CMakeDetermineCCompiler.cmake	21 May 2007 15:26:40 -0000	1.43
@@ -62,6 +62,9 @@
   ENDIF(CMAKE_C_COMPILER_INIT AND NOT CMAKE_C_COMPILER)
 ELSE(NOT CMAKE_C_COMPILER)
 
+  # we only get here if CMAKE_C_COMPILER was specified using -D or a pre-made CMakeCache.txt
+  # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
+  #
   # if a compiler was specified by the user but without path, 
   # now try to find it with the full path
   # if it is found, force it into the cache, 



More information about the Cmake-commits mailing list