CMP0063

警告

此策略的 OLD 行为已在 CMake 4.0 版本中移除。此策略必须通过调用 cmake_minimum_required()cmake_policy() 设置为 NEW

在版本 3.3 中添加。

为所有目标类型遵循可见性属性。

<LANG>_VISIBILITY_PRESETVISIBILITY_INLINES_HIDDEN 目标属性影响动态链接期间符号的可见性。最初引入时,这些属性仅影响共享库、模块库以及设置了 ENABLE_EXPORTS 属性的可执行文件中源文件的编译。这对于带有插件的共享库和可执行文件的基本用例来说已经足够了。然而,某些源文件可能作为静态库或对象库的一部分进行编译,然后稍后链接到共享库中。CMake 3.3 及更高版本倾向于为所有目标类型中编译的源文件遵循这些属性。此策略为期望属性仅适用于某些目标类型的项目保留兼容性。

此策略的 OLD 行为是忽略静态库、对象库和没有导出的可执行文件的可见性属性。此策略的 NEW 行为是为所有目标类型遵循可见性属性。

此策略在 CMake 3.3 版本中引入。在 CMake 4.0 版本中移除之前,可以通过 cmake_policy()cmake_minimum_required() 设置它。如果未设置,CMake 会发出警告,并使用 OLD 行为。