Spec-Zone.ru › CMake 3.19

CMP0063

Новое в версии 3.3.

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

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

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

Эта политика была введена в CMake версии 3.3. CMake версии 3.19.0-rc3 предупреждает, если политика не установлена, и использует поведение OLD. Используйте команду cmake_policy(), чтобы установить ее явно в OLD или NEW.

Примечание

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

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

Spec-Zone.ru

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