Spec-Zone.ru › CMake 3.25

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 и ниже.

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

Spec-Zone.ru

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