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