CMP0072¶
3.11 版本新增。
FindOpenGL
模块在可用时默认优先使用 GLVND。
该 FindOpenGL
模块为项目提供了 OpenGL::GL
目标和 OPENGL_LIBRARIES
变量,用于兼容旧的 GL 接口。当同时提供旧版 GL 库(例如 libGL.so
)和 OpenGL 及 GLX 的 GLVND 库(例如 libOpenGL.so
和 libGLX.so
)时,该模块必须在两者之间做出选择。它提供了一个 OpenGL_GL_PREFERENCE
变量,可用于指定明确的偏好。当未设置此类偏好时,该模块必须选择一个默认偏好。
CMake 3.11 及更高版本倾向于选择 GLVND 库。此策略为期望使用旧版 GL 库的项目提供了兼容性。
此策略的 OLD
行为是将 OpenGL_GL_PREFERENCE
设置为 LEGACY
。此策略的 NEW
行为是将 OpenGL_GL_PREFERENCE
设置为 GLVND
。
此策略在 CMake 版本 3.11 中引入。可以通过 cmake_policy()
或 cmake_minimum_required()
来设置。如果未设置,CMake 会发出警告并使用 OLD
行为。
注意
策略的 OLD
行为是 按定义已弃用
,并可能在未来的 CMake 版本中移除。