فهرست منبع

ENH: Remove unnecessary compiler force macros. The compiler ID can now be detected without linking an executable.

Brad King 18 سال پیش
والد
کامیت
8375bb4768
3فایلهای تغییر یافته به همراه27 افزوده شده و 63 حذف شده
  1. 25 61
      Modules/CMakeForceCompiler.cmake
  2. 1 1
      Modules/CMakeTestCCompiler.cmake
  3. 1 1
      Modules/CMakeTestCXXCompiler.cmake

+ 25 - 61
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*).
+")

+ 1 - 1
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

+ 1 - 1
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