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