CMakeForceCompiler
Устарело. Не использовать.
Макросы, предоставляемые этим модулем, предназначались для использования в файлах цепочки инструментов кросс-компиляции, когда CMake не мог автоматически определить идентификатор компилятора. После внедрения этого модуля возможности CMake по идентификации компилятора улучшились, и теперь его можно научить распознавать любой компилятор. Кроме того, набор информации, который CMake обнаруживает у компилятора, теперь слишком обширен, чтобы его можно было предоставить файлами цепочки инструментов, использующими эти макросы.
Одним из распространённых случаев использования этого модуля было пропускание проверок CMake на работоспособность компилятора при использовании кросс-компилятора, который не может связать бинарные файлы без специальных флагов или пользовательских скриптов компоновщика. Сейчас этот случай поддерживается установкой переменной CMAKE_TRY_COMPILE_TARGET_TYPE в файле цепочки инструментов вместо этого.
Макрос CMAKE_FORCE_C_COMPILER имеет следующий синтаксис:
CMAKE_FORCE_C_COMPILER(<compiler> <compiler-id>)
Он устанавливает CMAKE_C_COMPILER на указанный компилятор и внутреннюю переменную cmake CMAKE_C_COMPILER_ID на указанный идентификатор компилятора. Он также пропускает проверку работоспособности компилятора и тесты на базовую информацию о компиляторе.
Макрос CMAKE_FORCE_CXX_COMPILER имеет следующий синтаксис:
CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler-id>)
Он устанавливает CMAKE_CXX_COMPILER на указанный компилятор и внутреннюю переменную cmake CMAKE_CXX_COMPILER_ID на указанный идентификатор компилятора. Он также пропускает проверку работоспособности компилятора и тесты на базовую информацию о компиляторе.
Макрос CMAKE_FORCE_Fortran_COMPILER имеет следующий синтаксис:
CMAKE_FORCE_Fortran_COMPILER(<compiler> <compiler-id>)
Он устанавливает CMAKE_Fortran_COMPILER на указанный компилятор и внутреннюю переменную cmake CMAKE_Fortran_COMPILER_ID на указанный идентификатор компилятора. Он также пропускает проверку работоспособности компилятора и тесты на базовую информацию о компиляторе.
Таким образом, простой файл цепочки инструментов может выглядеть так:
include (CMakeForceCompiler) set(CMAKE_SYSTEM_NAME Generic) CMAKE_FORCE_C_COMPILER (chc12 MetrowerksHicross) CMAKE_FORCE_CXX_COMPILER (chc12 MetrowerksHicross)
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.12/module/CMakeForceCompiler.html