Spec-Zone.ru › CMake

CMP0097

Добавлено в версии 3.16.

ExternalProject_Add() с GIT_SUBMODULES "" не инициализирует подмодули.

Команды предоставляют параметр GIT_SUBMODULES, который определяет, какие подмодули инициализировать и обновлять. Начиная с CMake 3.16, явная установка GIT_SUBMODULES в пустую строку означает, что подмодули не будут инициализированы или обновлены.

Эта политика обеспечивает совместимость с проектами, которые еще не были обновлены с учетом нового поведения.

Поведение OLD для этой политики заключается в том, что GIT_SUBMODULES при установке в пустую строку инициализирует и обновляет все подмодули Git. Поведение NEW для этой политики заключается в том, что GIT_SUBMODULES при установке в пустую строку не инициализирует и не обновляет никакие подмодули Git.

Эта политика появилась в CMake версии 3.16. Ее можно установить с помощью cmake_policy() или cmake_minimum_required(). Если она не установлена, CMake не выдает предупреждение и использует поведение OLD.

Примечание

Эта политика также применяется к FetchContent_Declare(), которая использует те же возможности загрузки и обновления, что и ExternalProject_Add(). Однако из-за недостатка реализации, существующего с момента появления этой политики, CMake 3.16 и более поздние версии всегда используют поведение NEW для FetchContent_Declare(), независимо от настройки политики. Формально, это принудительное применение поведения NEW к FetchContent_Declare() будет сохраняться и в будущих выпусках CMake.

Примечание

Поведение OLD политики по определению считается устаревшим и может быть удалено в будущей версии CMake.

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

Spec-Zone.ru

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