Spec-Zone.ru › CMake 3.16

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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.16/module/CMakeForceCompiler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API