FindGLEW

查找 OpenGL Extension Wrangler Library (GLEW)。

GLEW 是一个跨平台的 C/C++ 库,通过提供高效的运行时机制来查询和加载核心规范之外的 OpenGL 功能,从而帮助管理 OpenGL 扩展。

3.7 版本新增: 调试和发布库变体分别查找。

3.15 版本新增: 如果 GLEW 使用其基于 CMake 的构建系统构建,它会提供一个 CMake 包配置文件 (GLEWConfig.cmake)。此模块现在考虑到这一点,并首先尝试以配置模式查找 GLEW。如果配置文件不可用,它会回退到模块模式并搜索标准位置。

导入的目标

此模块提供以下 导入目标

GLEW::GLEW

版本 3.1 中新增。

主要的导入目标,封装了 GLEW 的使用要求,如果找到 GLEW 则可用。它根据 GLEW::glewGLEW::glew_s 目标的可用性,映射其使用要求。

GLEW::glew

版本 3.15 新增。

封装共享 GLEW 库使用要求的目标。如果找到 GLEW 且未通过 GLEW_USE_STATIC_LIBS 提示变量(见下文)请求静态库,则此目标可用。

GLEW::glew_s

版本 3.15 新增。

封装静态 GLEW 库使用要求的目标。如果找到 GLEW 且 GLEW_USE_STATIC_LIBS 提示变量设置为布尔真,则此目标可用。

结果变量

此模块定义了以下变量

GLEW_FOUND

布尔值,指示是否找到 GLEW。

GLEW_VERSION

版本 3.15 新增。

找到的 GLEW 版本。

GLEW_VERSION_MAJOR

版本 3.15 新增。

找到的 GLEW 主版本。

GLEW_VERSION_MINOR

版本 3.15 新增。

找到的 GLEW 次版本。

GLEW_VERSION_MICRO

版本 3.15 新增。

找到的 GLEW 微版本。

GLEW_INCLUDE_DIRS

使用 GLEW 库所需的包含目录。

GLEW_LIBRARIES

链接 GLEW 库所需的库(共享或静态,取决于配置)。

GLEW_SHARED_LIBRARIES

版本 3.15 新增。

链接共享 GLEW 库所需的库。

GLEW_STATIC_LIBRARIES

版本 3.15 新增。

链接静态 GLEW 库所需的库。

提示

此模块在调用 find_package(GLEW) 之前接受以下变量以影响此模块的行为

GLEW_USE_STATIC_LIBS

版本 3.15 新增。

设置为布尔真以查找静态 GLEW 库并为静态链接创建 GLEW::glew_s 导入目标。

GLEW_VERBOSE

版本 3.15 新增。

设置为布尔真以输出此模块的详细日志。例如,可用于调试。

示例

查找 GLEW 并将其链接到项目目标

find_package(GLEW)
target_link_libraries(project_target PRIVATE GLEW::GLEW)

使用静态 GLEW 库(如果找到)

set(GLEW_USE_STATIC_LIBS TRUE)
find_package(GLEW)
target_link_libraries(project_target PRIVATE GLEW::GLEW)