Spec-Zone.ru › CMake 3.27

cmake_minimum_required

Требуется минимальная версия CMake.

cmake_minimum_required(VERSION <min>[...<policy_max>] [FATAL_ERROR])

Новое в версии 3.12: Необязательная <policy_max> версия.

Устанавливает минимально необходимую версию CMake для проекта. Также обновляет параметры политики, как описано ниже.

<min> и необязательная <policy_max> являются версиями CMake в формате major.minor[.patch[.tweak]], а ... — это буквальное значение.

Если текущая версия CMake ниже требуемой версии <min>, обработка проекта будет остановлена и будет сообщено об ошибке. Необязательная версия <policy_max>, если указана, должна быть не ниже версии <min> и влияет на параметры политики, как описано в разделе Параметры политики. Если текущая версия CMake старше 3.12, дополнительные ... точки будут восприниматься как разделители компонентов версии, в результате чего часть ...<max> будет проигнорирована, сохраняя поведение до версии 3.12, основанное на <min>.

Эта команда установит значение переменной CMAKE_MINIMUM_REQUIRED_VERSION на <min>.

Вариант FATAL_ERROR принимается, но игнорируется CMake 2.6 и выше. Он должен быть указан, чтобы версии CMake 2.4 и ниже завершались ошибкой вместо предупреждения.

Примечание

Вызовите команду cmake_minimum_required() в начале файла верхнего уровня CMakeLists.txt даже перед вызовом команды project(). Важно установить настройки версии и политики перед вызовом других команд, поведение которых они могут повлиять. См. также политику CMP0000.

Вызов cmake_minimum_required() внутри function() ограничивает некоторые эффекты областью видимости функции при вызове. Например, переменная CMAKE_MINIMUM_REQUIRED_VERSION не будет установлена в области вызывающей функции. Однако функции не вводят свою собственную область видимости политики, поэтому настройки политики вызывающей функции будут затронуты (см. ниже). Из-за этого смешения вещей, которые влияют и не влияют на вызывающую область видимости, вызов cmake_minimum_required() внутри функции обычно не рекомендуется.

Параметры политики

Команда cmake_minimum_required(VERSION) неявным образом вызывает команду cmake_policy(VERSION) для указания того, что текущий код проекта написан для данного диапазона версий CMake. Все политики, известные текущей версии CMake и введенные в версии <min> (или <max>, если указана) или ранее, будут установлены для использования NEW поведения. Все политики, введенные в более поздних версиях, будут сброшены. Это фактически запрашивает предпочтительное поведение по состоянию на заданную версию CMake и сообщает более новым версиям CMake о своих новых политиках.

Когда <min> версия выше 2.4, команда неявно вызывает

cmake_policy(VERSION <min>[...<max>])

что устанавливает политики CMake на основе заданного диапазона версий. Когда <min> версия 2.4 или ниже, команда неявно вызывает

cmake_policy(VERSION 2.4[...<max>])

что включает совместимые функции для CMake 2.4 и ниже.

Изменено в версии 3.27: Совместимость с версиями CMake, более старыми чем 3.5, устарела. Вызовы cmake_minimum_required(VERSION) или cmake_policy(VERSION), которые не указывают как минимум 3.5 в качестве версии политики (необязательно через ...<max>), будут генерировать предупреждение об устаревании в CMake 3.27 и выше.

Изменено в версии 3.19: Совместимость с версиями CMake, более старыми чем 2.8.12, устарела. Вызовы cmake_minimum_required(VERSION) или cmake_policy(VERSION), которые не указывают как минимум 2.8.12 в качестве версии политики (необязательно через ...<max>), будут генерировать предупреждение об устаревании в CMake 3.19 и выше.

См. также

  • cmake_policy()

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.27/command/cmake_minimum_required.html

Spec-Zone.ru

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