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::glew或- GLEW::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)
