| # Distributed under the OSI-approved BSD 3-Clause License.  See accompanying | 
 | # file Copyright.txt or https://cmake.org/licensing for details. | 
 |  | 
 | #[=======================================================================[.rst: | 
 | CMakeForceCompiler | 
 | ------------------ | 
 |  | 
 | .. deprecated:: 3.6 | 
 |  | 
 |   Do not use. | 
 |  | 
 | The macros provided by this module were once intended for use by | 
 | cross-compiling toolchain files when CMake was not able to automatically | 
 | detect the compiler identification.  Since the introduction of this module, | 
 | CMake's compiler identification capabilities have improved and can now be | 
 | taught to recognize any compiler.  Furthermore, the suite of information | 
 | CMake detects from a compiler is now too extensive to be provided by | 
 | toolchain files using these macros. | 
 |  | 
 | One common use case for this module was to skip CMake's checks for a | 
 | working compiler when using a cross-compiler that cannot link binaries | 
 | without special flags or custom linker scripts.  This case is now supported | 
 | by setting the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable in the | 
 | toolchain file instead. | 
 |  | 
 | ------------------------------------------------------------------------- | 
 |  | 
 | Macro ``CMAKE_FORCE_C_COMPILER`` has the following signature: | 
 |  | 
 | :: | 
 |  | 
 |    CMAKE_FORCE_C_COMPILER(<compiler> <compiler-id>) | 
 |  | 
 | It sets :variable:`CMAKE_C_COMPILER <CMAKE_<LANG>_COMPILER>` to | 
 | the given compiler and the cmake internal variable | 
 | :variable:`CMAKE_C_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` to the given | 
 | compiler-id.  It also bypasses the check for working compiler and basic | 
 | compiler information tests. | 
 |  | 
 | Macro ``CMAKE_FORCE_CXX_COMPILER`` has the following signature: | 
 |  | 
 | :: | 
 |  | 
 |    CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler-id>) | 
 |  | 
 | It sets :variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_COMPILER>` to | 
 | the given compiler and the cmake internal variable | 
 | :variable:`CMAKE_CXX_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` to the given | 
 | compiler-id.  It also bypasses the check for working compiler and basic | 
 | compiler information tests. | 
 |  | 
 | Macro ``CMAKE_FORCE_Fortran_COMPILER`` has the following signature: | 
 |  | 
 | :: | 
 |  | 
 |    CMAKE_FORCE_Fortran_COMPILER(<compiler> <compiler-id>) | 
 |  | 
 | It sets :variable:`CMAKE_Fortran_COMPILER <CMAKE_<LANG>_COMPILER>` to | 
 | the given compiler and the cmake internal variable | 
 | :variable:`CMAKE_Fortran_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` to the given | 
 | compiler-id.  It also bypasses the check for working compiler and basic | 
 | compiler information tests. | 
 |  | 
 | 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) | 
 | #]=======================================================================] | 
 |  | 
 | macro(CMAKE_FORCE_C_COMPILER compiler id) | 
 |   message(DEPRECATION "The CMAKE_FORCE_C_COMPILER macro is deprecated.  " | 
 |     "Instead just set CMAKE_C_COMPILER and allow CMake to identify the compiler.") | 
 |   set(CMAKE_C_COMPILER "${compiler}") | 
 |   set(CMAKE_C_COMPILER_ID_RUN TRUE) | 
 |   set(CMAKE_C_COMPILER_ID ${id}) | 
 |   set(CMAKE_C_COMPILER_FORCED TRUE) | 
 |  | 
 |   # Set old compiler id variables. | 
 |   if(CMAKE_C_COMPILER_ID MATCHES "GNU") | 
 |     set(CMAKE_COMPILER_IS_GNUCC 1) | 
 |   endif() | 
 | endmacro() | 
 |  | 
 | macro(CMAKE_FORCE_CXX_COMPILER compiler id) | 
 |   message(DEPRECATION "The CMAKE_FORCE_CXX_COMPILER macro is deprecated.  " | 
 |     "Instead just set CMAKE_CXX_COMPILER and allow CMake to identify the compiler.") | 
 |   set(CMAKE_CXX_COMPILER "${compiler}") | 
 |   set(CMAKE_CXX_COMPILER_ID_RUN TRUE) | 
 |   set(CMAKE_CXX_COMPILER_ID ${id}) | 
 |   set(CMAKE_CXX_COMPILER_FORCED TRUE) | 
 |  | 
 |   # Set old compiler id variables. | 
 |   if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") | 
 |     set(CMAKE_COMPILER_IS_GNUCXX 1) | 
 |   endif() | 
 | endmacro() | 
 |  | 
 | macro(CMAKE_FORCE_Fortran_COMPILER compiler id) | 
 |   message(DEPRECATION "The CMAKE_FORCE_Fortran_COMPILER macro is deprecated.  " | 
 |     "Instead just set CMAKE_Fortran_COMPILER and allow CMake to identify the compiler.") | 
 |   set(CMAKE_Fortran_COMPILER "${compiler}") | 
 |   set(CMAKE_Fortran_COMPILER_ID_RUN TRUE) | 
 |   set(CMAKE_Fortran_COMPILER_ID ${id}) | 
 |   set(CMAKE_Fortran_COMPILER_FORCED TRUE) | 
 |  | 
 |   # Set old compiler id variables. | 
 |   if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU") | 
 |     set(CMAKE_COMPILER_IS_GNUG77 1) | 
 |   endif() | 
 | endmacro() |