Spec-Zone.ru › CMake 3.21

CMAKE_CROSSCOMPILING

Предназначен для указания, компилирует ли CMake для другой платформы, но обратите внимание на ограничения, обсуждаемые ниже.

Эта переменная будет установлена в значение «истина» CMake, если переменная CMAKE_SYSTEM_NAME была установлена вручную (например, в файле цепочки инструментов или как запись в кэше из команды cmake). В большинстве случаев, ручная установка CMAKE_SYSTEM_NAME выполняется только при кросс-компиляции, так как в противном случае ей будет присвоено то же значение, что и CMAKE_HOST_SYSTEM_NAME, если она не задана вручную, что правильно для случая не кросс-компиляции. В случае, если CMAKE_SYSTEM_NAME вручную установлена в то же значение, что и CMAKE_HOST_SYSTEM_NAME, то CMAKE_CROSSCOMPILING всё равно будет установлена в значение «истина».

Следует также учитывать, что сборка, нацеленная на платформы Apple, отличные от macOS, обрабатывается иначе, чем другие сценарии кросс-компиляции. Вместо того, чтобы полагаться на CMAKE_SYSTEM_NAME для выбора целевой платформы, сборка приложений Apple использует CMAKE_OSX_SYSROOT для выбора соответствующего SDK, что косвенно определяет целевую платформу. Кроме того, при использовании генератора Xcode, разработчики могут переключаться между сборками для устройства и симулятора во время сборки, а не иметь единственного выбора во время конфигурации, поэтому концепция кросс-компиляции проекта сложнее. Поэтому использование CMAKE_CROSSCOMPILING для проектов, нацеленных на устройства Apple, не рекомендуется.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/variable/CMAKE_CROSSCOMPILING.html

Spec-Zone.ru

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