STYLE: use a separate source file for generating CMakeSystem.cmake if CMAKE_TOOLCHAIN_FILE is used
Alex
This commit is contained in:
parent
c8dd1caff9
commit
71359f5b9d
|
@ -62,6 +62,9 @@ IF(NOT CMAKE_C_COMPILER)
|
||||||
ENDIF(CMAKE_C_COMPILER_INIT AND NOT CMAKE_C_COMPILER)
|
ENDIF(CMAKE_C_COMPILER_INIT AND NOT CMAKE_C_COMPILER)
|
||||||
ELSE(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,
|
# if a compiler was specified by the user but without path,
|
||||||
# now try to find it with the full path
|
# now try to find it with the full path
|
||||||
# if it is found, force it into the cache,
|
# if it is found, force it into the cache,
|
||||||
|
|
|
@ -26,6 +26,10 @@
|
||||||
# cygwin CYGWIN_NT-5.1
|
# cygwin CYGWIN_NT-5.1
|
||||||
# MacOSX Darwin
|
# 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)
|
IF(CMAKE_TOOLCHAIN_FILE)
|
||||||
# at first try to load it as path relative to the directory from which cmake has been run
|
# 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)
|
INCLUDE("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
|
||||||
|
@ -40,6 +44,9 @@ IF(CMAKE_TOOLCHAIN_FILE)
|
||||||
MESSAGE(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
|
MESSAGE(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
|
||||||
ENDIF(_INCLUDED_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)
|
IF(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||||
SET(CMAKE_CROSSCOMPILING TRUE)
|
SET(CMAKE_CROSSCOMPILING TRUE)
|
||||||
ENDIF(NOT DEFINED CMAKE_CROSSCOMPILING)
|
ENDIF(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||||
|
@ -105,8 +112,8 @@ ENDIF(CMAKE_SYSTEM_VERSION)
|
||||||
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||||
"The system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
|
"The system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
|
||||||
|
|
||||||
# configure variables set in this file for fast reload
|
# configure variables set in this file for fast reload, the template file is defined at the top of this file
|
||||||
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in
|
CONFIGURE_FILE(${_CMAKE_SYSTEM_TEMPLATE_FILE}
|
||||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake
|
||||||
IMMEDIATE @ONLY)
|
IMMEDIATE @ONLY)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# just install the modules
|
# just install the modules
|
||||||
# new file added, force rerunning cmake
|
# new file added, force rerunning cmake #
|
||||||
|
|
||||||
SUBDIRS(Platform)
|
SUBDIRS(Platform)
|
||||||
INSTALL_FILES(${CMAKE_DATA_DIR}/Modules .*\\.cmake$)
|
INSTALL_FILES(${CMAKE_DATA_DIR}/Modules .*\\.cmake$)
|
||||||
|
|
|
@ -1,21 +1,6 @@
|
||||||
IF("@CMAKE_TOOLCHAIN_FILE@" STREQUAL "")
|
|
||||||
|
|
||||||
SET(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
|
SET(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
|
||||||
SET(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
|
SET(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
|
||||||
SET(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
|
SET(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
|
||||||
SET(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
|
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_LOADED 1)
|
SET(CMAKE_SYSTEM_LOADED 1)
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
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)
|
Loading…
Reference in New Issue