Spec-Zone.ru › CMake 3.31

CMP0166

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

TARGET_PROPERTY вычисляет свойства связи транзитивно через частные зависимости статических библиотек.

В CMake 3.29 и ниже, генераторское выражение TARGET_PROPERTY вычисляет свойства INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES и INTERFACE_LINK_DEPENDS как если бы они были Транзитивными свойствами компиляции, а не Транзитивными свойствами компоновки, даже когда политика CMP0099 установлена в NEW. Частные зависимости статических библиотек, которые появляются в их INTERFACE_LINK_LIBRARIES защищенные генераторскими выражениями LINK_ONLY, не учитываются. Это несовместимо с вычислением тех же свойств целевых объектов во время генерации системы сборки.

CMake 3.30 и выше предпочитает, чтобы TARGET_PROPERTY вычислял свойства INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES и INTERFACE_LINK_DEPENDS как Транзитивные свойства компоновки так, чтобы частные зависимости статических библиотек, которые появляются в их INTERFACE_LINK_LIBRARIES защищенные генераторскими выражениями LINK_ONLY, учитывались. Эта политика обеспечивает совместимость для проектов, которые не были обновлены, чтобы ожидать нового поведения.

Поведение OLD для этой политики заключается в том, что TARGET_PROPERTY вычисляет свойства INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES и INTERFACE_LINK_DEPENDS как если бы они были Транзитивные свойства компиляции, не учитывая частные зависимости статических библиотек. Поведение NEW для этой политики заключается в том, чтобы вычислять их как Транзитивные свойства компоновки, учитывая частные зависимости статических библиотек.

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

Примечание

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

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

Spec-Zone.ru

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