CMP0072

在 3.11 版本中添加。

FindOpenGL 默认情况下优先使用 GLVND (如果可用)。

FindOpenGL 模块为项目提供了 OpenGL::GL 目标 和 OPENGL_LIBRARIES 变量,用于旧式 GL 接口。当旧式 GL 库 (例如 libGL.so) 和 用于 OpenGL 和 GLX 的 GLVND 库 (例如 libOpenGL.solibGLX.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 版本中删除。