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 库的项目的兼容性。
此策略的“旧”行为是将“OpenGL_GL_PREFERENCE”设置为“LEGACY”。此策略的“新”行为是将“OpenGL_GL_PREFERENCE”设置为“GLVND”。
此策略是在 CMake 版本 3.11 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLD 或 NEW。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。