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