Spec-Zone.ru › CMake

CMAKE_OSX_SYSROOT

Указывает расположение или имя SDK платформы macOS, который будет использоваться.

Если значение не задано явно, оно инициализируется переменной среды SDKROOT, если она задана. В противном случае значение по умолчанию остается пустым, и предполагается, что компилятор самостоятельно выберет SDK macOS по умолчанию.

Изменено в версии 4.0: Теперь значение по умолчанию — пустая строка. Ранее оно вычислялось на основе CMAKE_OSX_DEPLOYMENT_TARGET или хост-платформы.

Чтобы передать явный SDK macOS с помощью флага компилятора -isysroot, пользователи могут настроить дерево сборки с помощью -DCMAKE_OSX_SYSROOT=macosx или задать export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)" в своей среде.

Примечания:

  • Компиляторы macOS в /usr/bin, если они запущены без -isysroot, ищут заголовочные файлы в /usr/local/include до поиска в системных путях SDK, следуя соглашению, принятому на многих платформах. Пользователям на хостах macOS-x86_64 с установленным Homebrew в /usr/local следует явно указать SDK, как описано выше, если сборка выполняется не с помощью инструментов Homebrew.
  • Некоторые компиляторы Clang не выбирают SDK macOS по умолчанию. Для них, если CMAKE_OSX_SYSROOT пуст, CMake автоматически передаст -isysroot с SDK macOS, выведенным командой xcrun --show-sdk-path.

Значение этой переменной следует задать до первого вызова команды project() или enable_language(), поскольку оно может влиять на настройку набора инструментов и флагов. Предполагается, что пользователь, создающий дерево сборки, задает эту переменную локально. Эту переменную следует задавать как запись CACHE (иначе CMake может удалить ее при инициализации записи кэша с тем же именем), если только политика CMP0126 не установлена в значение NEW.

Несмотря на часть OSX в имени переменной (переменных), они применяются также к SDK других платформ, помимо macOS, например iOS, tvOS, visionOS или watchOS.

Эта переменная игнорируется на платформах, отличных от Apple.

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html

Spec-Zone.ru

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