Spec-Zone.ru › CMake

CMAKE_OSX_DEPLOYMENT_TARGET

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

Для сборок, предназначенных для macOS (CMAKE_SYSTEM_NAME — Darwin), если CMAKE_OSX_DEPLOYMENT_TARGET не задана явно, устанавливается значение по умолчанию:

  • Если переменная среды MACOSX_DEPLOYMENT_TARGET не пуста, ее значение используется по умолчанию.
  • В противном случае, если используется генератор Xcode и версия macOS на хосте старше, чем версия macOS в SDK (CMAKE_OSX_SYSROOT, если задана, или SDK по умолчанию в Xcode), по умолчанию используется версия macOS на хосте.

    Изменено в версии 4.0: Ранее это применялось ко всем генераторам, а не только к Xcode.

  • В противном случае значение по умолчанию — пустая строка.

Действие CMAKE_OSX_DEPLOYMENT_TARGET зависит от генератора:

Xcode

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

Другие генераторы

Если для CMAKE_OSX_DEPLOYMENT_TARGET задано непустое значение, оно передается компилятору с помощью флага -mmacosx-version-min или его эквивалента. В противном случае такой флаг не добавляется, и используется целевая платформа развертывания компилятора по умолчанию.

Значение этой переменной следует задать до первого вызова команды 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_DEPLOYMENT_TARGET.html

Spec-Zone.ru

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