CMP0063
Новое в версии 3.3.
Уважать свойства видимости для всех типов целей.
Свойства цели <LANG>_VISIBILITY_PRESET и VISIBILITY_INLINES_HIDDEN влияют на видимость символов во время динамической компоновки. При первом введении эти свойства влияли только на компиляцию исходных кодов в общих библиотеках, библиотеках модулей и исполняемых файлах со свойством ENABLE_EXPORTS. Это было достаточно для основных случаев использования общих библиотек и исполняемых файлов с плагинами. Однако некоторые исходные коды могут быть скомпилированы как часть статических библиотек или библиотек объектов, а затем связаны в общую библиотеку позже. CMake 3.3 и выше предпочитают учитывать эти свойства для исходных кодов, скомпилированных во всех типах целей. Эта политика сохраняет совместимость для проектов, ожидающих, что свойства будут работать только для некоторых типов целей.
Поведение OLD для этой политики — игнорировать свойства видимости для статических библиотек, библиотек объектов и исполняемых файлов без экспорта. Поведение NEW для этой политики — уважать свойства видимости для всех типов целей.
Эта политика была введена в CMake версии 3.3. CMake версии 3.23.3 предупреждает, если политика не задана, и использует OLD поведение. Используйте команду cmake_policy(), чтобы явно установить её в OLD или NEW.
Примечание
Поведение OLD политики — deprecated by definition и может быть удалено в будущей версии CMake.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.23/policy/CMP0063.html