[cmake-commits] king committed CMakeForceCompiler.cmake 1.7 1.8
cmake-commits at cmake.org
cmake-commits at cmake.org
Mon Mar 3 11:16:34 EST 2008
Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv6341/Modules
Modified Files:
CMakeForceCompiler.cmake
Log Message:
ENH: Restore CMAKE_FORCE_C_COMPILER and CMAKE_FORCE_CXX_COMPILER macros in CMakeForceCompiler module.
Index: CMakeForceCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeForceCompiler.cmake,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- CMakeForceCompiler.cmake 14 Feb 2008 15:50:43 -0000 1.7
+++ CMakeForceCompiler.cmake 3 Mar 2008 16:16:32 -0000 1.8
@@ -1,27 +1,47 @@
-MESSAGE(FATAL_ERROR
- "Do not include the CMakeForceCompiler module. "
- "It is no longer necessary. "
- "Update your toolchain file as follows.
-
-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:
+# This module defines macros intended for use by cross-compiling
+# toolchain files when CMake is not able to automatically detect the
+# compiler identification.
+#
+# Macro CMAKE_FORCE_C_COMPILER has the following signature:
+# CMAKE_FORCE_C_COMPILER(<compiler> <compiler-id>)
+# It sets CMAKE_C_COMPILER to the given compiler and the cmake
+# internal variable CMAKE_C_COMPILER_ID to the given compiler-id.
+# It also bypasses ???
+#
+# Macro CMAKE_FORCE_CXX_COMPILER has the following signature:
+# CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler-id>)
+# It sets CMAKE_CXX_COMPILER to the given compiler and the cmake
+# internal variable CMAKE_CXX_COMPILER_ID to the given compiler-id.
+# It also bypasses ???
+#
+# So a simple toolchain file could look like this:
+# INCLUDE (CMakeForceCompiler)
+# SET(CMAKE_SYSTEM_NAME Generic)
+# CMAKE_FORCE_C_COMPILER (chc12 MetrowerksHicross)
+# CMAKE_FORCE_CXX_COMPILER (chc12 MetrowerksHicross)
- CMAKE_FORCE_C_COMPILER (/path/to/cc <id> <sizeof_void_p>)
- CMAKE_FORCE_CXX_COMPILER (/path/to/CC <id>)
+MACRO(CMAKE_FORCE_C_COMPILER compiler id)
+ 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)
-may be replaced by just
+ # Set old compiler id variables.
+ IF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
+ SET(CMAKE_COMPILER_IS_GNUCC 1)
+ ENDIF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
+ENDMACRO(CMAKE_FORCE_C_COMPILER)
- SET(CMAKE_C_COMPILER /path/to/cc)
- SET(CMAKE_CXX_COMPILER /path/to/CC)
+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)
-CMake will automatically detect known compiler IDs and sizeof(void*).
-")
+ # Set old compiler id variables.
+ 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)
More information about the Cmake-commits
mailing list