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