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