Spec-Zone.ru › CMake 3.26

CMP0063

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

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

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

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

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

Примечание

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

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

Spec-Zone.ru

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