summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-02-14 15:50:43 (GMT)
committerBrad King <brad.king@kitware.com>2008-02-14 15:50:43 (GMT)
commit8375bb4768f29f595c66140b77dd6b01713afb79 (patch)
tree5d54956cd0334079e21c58ded1d139cb299c76fa
parente4a1823f4356685202f7bbe988e9b5c8062436d3 (diff)
downloadCMake-8375bb4768f29f595c66140b77dd6b01713afb79.zip
CMake-8375bb4768f29f595c66140b77dd6b01713afb79.tar.gz
CMake-8375bb4768f29f595c66140b77dd6b01713afb79.tar.bz2
ENH: Remove unnecessary compiler force macros. The compiler ID can now be detected without linking an executable.
-rw-r--r--Modules/CMakeForceCompiler.cmake86
-rw-r--r--Modules/CMakeTestCCompiler.cmake2
-rw-r--r--Modules/CMakeTestCXXCompiler.cmake2
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(\"<name>\" \"<version>\" \"<processor>\")
+
+may be replaced by just
+
+ SET(CMAKE_SYSTEM_NAME \"<name>\")
+ SET(CMAKE_SYSTEM_VERSION \"<version>\")
+ SET(CMAKE_SYSTEM_PROCESSOR \"<processor>\")
+
+Use of the CMAKE_FORCE_C_COMPILER and CMAKE_FORCE_CXX_COMPILER macros:
+
+ CMAKE_FORCE_C_COMPILER (/path/to/cc <id> <sizeof_void_p>)
+ CMAKE_FORCE_CXX_COMPILER (/path/to/CC <id>)
+
+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