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 版本中删除。