CMakeForceCompiler
Устарело начиная с версии 3.6: Не использовать.
Макросы, предоставляемые этим модулем, были когда-то предназначены для использования файлами инструментальной цепочки кросс-компиляции, когда 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–2023 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.26/module/CMakeForceCompiler.html