FindGLEW

查找 OpenGL 扩展库 (GLEW)

find_package(GLEW [<version>] [...])

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 提示变量被设置为布尔 true,则此目标可用。

结果变量

此模块定义了以下变量

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 新增。

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

GLEW_VERBOSE

版本 3.15 新增。

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

示例

查找 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)