From 8375bb4768f29f595c66140b77dd6b01713afb79 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 14 Feb 2008 10:50:43 -0500 Subject: ENH: Remove unnecessary compiler force macros. The compiler ID can now be detected without linking an executable. --- Modules/CMakeForceCompiler.cmake | 86 +++++++++++--------------------------- Modules/CMakeTestCCompiler.cmake | 2 +- Modules/CMakeTestCXXCompiler.cmake | 2 +- 3 files changed, 27 insertions(+), 63 deletions(-) diff --git a/Modules/CMakeForceCompiler.cmake b/Modules/CMakeForceCompiler.cmake index f525ff9..0b55500 100644 --- a/Modules/CMakeForceCompiler.cmake +++ b/Modules/CMakeForceCompiler.cmake @@ -1,63 +1,27 @@ +MESSAGE(FATAL_ERROR + "Do not include the CMakeForceCompiler module. " + "It is no longer necessary. " + "Update your toolchain file as follows. -# These are macros intended to be used only when crosscompiling in the -# toolchain-file and only if the compiler is not able to link an -# executable by default (usually because they need user-specific -# linker files which describe the layout of the target memory). -# -# It offers the following macros: -# -# macro CMAKE_FORCE_SYSTEM(name version processor) -# Set CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_VERSION and CMAKE_SYSTEM_PROCESSOR -# -# macro CMAKE_FORCE_C_COMPILER(compiler compiler_id sizeof_void_p) -# Set CMAKE_C_COMPILER to the given compiler and set CMAKE_C_COMPILER_ID -# to the given compiler_id. This Id is used by cmake to construct the filename -# of the system-compiler.cmake file. For C also the size of a void-pointer -# has to be predefined. -# -# macro CMAKE_FORCE_CXX_COMPILER(compiler compiler_id) -# The same as CMAKE_FORCE_C_COMPILER, but for CXX. Here the size of -# the void pointer is not requried. -# -# So a simple toolchain file could look like this: -# -# INCLUDE (CMakeForceCompiler) -# CMAKE_FORCE_SYSTEM ("Generic" "0.0" "hc12") -# CMAKE_FORCE_C_COMPILER (chc12 FreescaleCHC12 2) -# CMAKE_FORCE_CXX_COMPILER (chc12 FreescaleCHC12) - - -MACRO(CMAKE_FORCE_SYSTEM name version proc) - SET(CMAKE_SYSTEM_NAME "${name}") - SET(CMAKE_SYSTEM_VERSION "${version}") - SET(CMAKE_SYSTEM_PROCESSOR "${proc}") -ENDMACRO(CMAKE_FORCE_SYSTEM) - -MACRO(CMAKE_FORCE_C_COMPILER compiler id sizeof_void) - SET(CMAKE_C_COMPILER "${compiler}") - SET(CMAKE_C_COMPILER_ID_RUN TRUE) - SET(CMAKE_C_COMPILER_ID ${id}) - SET(CMAKE_C_COMPILER_WORKS TRUE) - SET(CMAKE_C_COMPILER_FORCED TRUE) - - # Set old compiler and platform id variables. - IF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU") - SET(CMAKE_COMPILER_IS_GNUCC 1) - ENDIF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU") - - SET(CMAKE_C_SIZEOF_DATA_PTR ${sizeof_void}) -ENDMACRO(CMAKE_FORCE_C_COMPILER) - -MACRO(CMAKE_FORCE_CXX_COMPILER compiler id) - SET(CMAKE_CXX_COMPILER "${compiler}") - SET(CMAKE_CXX_COMPILER_ID_RUN TRUE) - SET(CMAKE_CXX_COMPILER_ID ${id}) - SET(CMAKE_CXX_COMPILER_WORKS TRUE) - SET(CMAKE_CXX_COMPILER_FORCED TRUE) - - IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") - SET(CMAKE_COMPILER_IS_GNUCXX 1) - ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") - -ENDMACRO(CMAKE_FORCE_CXX_COMPILER) +Use of the CMAKE_FORCE_SYSTEM macro: + CMAKE_FORCE_SYSTEM(\"\" \"\" \"\") + +may be replaced by just + + SET(CMAKE_SYSTEM_NAME \"\") + SET(CMAKE_SYSTEM_VERSION \"\") + SET(CMAKE_SYSTEM_PROCESSOR \"\") + +Use of the CMAKE_FORCE_C_COMPILER and CMAKE_FORCE_CXX_COMPILER macros: + + CMAKE_FORCE_C_COMPILER (/path/to/cc ) + CMAKE_FORCE_CXX_COMPILER (/path/to/CC ) + +may be replaced by just + + SET(CMAKE_C_COMPILER /path/to/cc) + SET(CMAKE_CXX_COMPILER /path/to/CC) + +CMake will automatically detect known compiler IDs and sizeof(void*). +") diff --git a/Modules/CMakeTestCCompiler.cmake b/Modules/CMakeTestCCompiler.cmake index 4499e60..0eac2fc 100644 --- a/Modules/CMakeTestCCompiler.cmake +++ b/Modules/CMakeTestCCompiler.cmake @@ -43,7 +43,7 @@ ELSE(NOT CMAKE_C_COMPILER_WORKS) SET(CMAKE_C_COMPILER_WORKS 1 CACHE INTERNAL "") IF(CMAKE_C_COMPILER_FORCED) - # The compiler was forced by the CMAKE_FORCE_C_COMPILER macro. + # The compiler configuration was forced by the user. # Assume the user has configured all compiler information. ELSE(CMAKE_C_COMPILER_FORCED) # Try to identify the ABI and configure it into CMakeCCompiler.cmake diff --git a/Modules/CMakeTestCXXCompiler.cmake b/Modules/CMakeTestCXXCompiler.cmake index 9c2305f..47a315a 100644 --- a/Modules/CMakeTestCXXCompiler.cmake +++ b/Modules/CMakeTestCXXCompiler.cmake @@ -36,7 +36,7 @@ ELSE(NOT CMAKE_CXX_COMPILER_WORKS) SET(CMAKE_CXX_COMPILER_WORKS 1 CACHE INTERNAL "") IF(CMAKE_CXX_COMPILER_FORCED) - # The compiler was forced by the CMAKE_FORCE_CXX_COMPILER macro. + # The compiler configuration was forced by the user. # Assume the user has configured all compiler information. ELSE(CMAKE_CXX_COMPILER_FORCED) # Try to identify the ABI and configure it into CMakeCXXCompiler.cmake -- cgit v0.12