CMP0063
Уважение свойств видимости для всех типов целей.
Свойства цели <LANG>_VISIBILITY_PRESET и VISIBILITY_INLINES_HIDDEN влияют на видимость символов во время динамической компоновки. При первоначальном введении эти свойства влияли только на компиляцию исходных кодов в разделяемых библиотеках, библиотеках модулей и исполняемых файлах с установленным свойством ENABLE_EXPORTS. Этого было достаточно для основных сценариев использования разделяемых библиотек и исполняемых файлов с плагинами. Однако некоторые исходные коды могут компилироваться как часть статических библиотек или библиотек объектов, а затем позже связываться в разделяемую библиотеку. CMake 3.3 и выше предпочитает учитывать эти свойства для исходных кодов, скомпилированных во всех типах целей. Данная политика сохраняет совместимость для проектов, ожидающих работы свойств только для некоторых типов целей.
Поведение OLD для данной политики заключается в игнорировании свойств видимости для статических библиотек, библиотек объектов и исполняемых файлов без экспорта. Поведение NEW для данной политики заключается в учете свойств видимости для всех типов целей.
Данная политика была введена в версии CMake 3.3. Версия CMake 3.9.6 выдает предупреждение, если политика не установлена, и использует 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.9/policy/CMP0063.html