Spec-Zone.ru › CMake 3.31

CMP0063

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

Уважать свойства видимости для всех типов целей.

Свойства цели <LANG>_VISIBILITY_PRESET и VISIBILITY_INLINES_HIDDEN влияют на видимость символов во время динамической компоновки. При первом введении эти свойства влияли на компиляцию исходных файлов только в разделяемых библиотеках, библиотеках модулей и исполняемых файлах с свойством ENABLE_EXPORTS. Этого было достаточно для основных вариантов использования разделяемых библиотек и исполняемых файлов с плагинами. Однако некоторые исходные файлы могут быть скомпилированы как часть статических библиотек или библиотек объектов, а затем связаны в разделяемую библиотеку позднее. CMake 3.3 и выше предпочитают учитывать эти свойства для исходных файлов, скомпилированных во всех типах целей. Этот принцип сохраняет совместимость для проектов, ожидающих, что свойства будут работать только для некоторых типов целей.

Поведение OLD для этого принципа заключается в игнорировании свойств видимости для статических библиотек, библиотек объектов и исполняемых файлов без экспорта. Поведение NEW для этого принципа заключается в уважении свойств видимости для всех типов целей.

Этот принцип был добавлен в версию CMake 3.3. Он может быть установлен с помощью 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/CMP0063.html

Spec-Zone.ru

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