FindOpenAL

查找 Open Audio Library (OpenAL)。

OpenAL 是一个跨平台的 3D 音频 API,专为高效渲染多声道三维空间音频而设计。它通常用于游戏和多媒体应用程序,以提供沉浸式和空间化的声音。

使用此模块的项目应使用 #include <al.h> 包含 OpenAL 头文件,不要使用 #include <AL/al.h>。原因是后者不具有可移植性。例如,Windows/Creative Labs 默认不将 OpenAL 头文件放在 AL/ 中,而 macOS 使用 <OpenAL/al.h> 的约定。

导入的目标

此模块提供以下 导入目标

OpenAL::OpenAL

在 3.25 版本中新增。

封装 OpenAL 库使用要求的目标,仅在找到 OpenAL 库时可用。

结果变量

此模块定义了以下变量

OpenAL_FOUND

一个布尔值,指示是否找到 OpenAL。为了向后兼容,OPENAL_FOUND 变量也设置为相同的值。

OPENAL_VERSION_STRING

包含找到的 OpenAL 版本的可读字符串。

缓存变量

以下缓存变量也可以设置

OPENAL_INCLUDE_DIR

包含使用 OpenAL 库所需的头文件的目录。

OPENAL_LIBRARY

OpenAL 库的路径。

提示

此模块接受以下变量

OPENALDIR

环境变量,可用于在非标准位置设置 OpenAL 的安装前缀。

OpenAL 的搜索顺序如下:

  1. 默认情况下,在 macOS 上,首先搜索系统框架:/System/Library/Frameworks,其优先级可以通过设置 CMAKE_FIND_FRAMEWORK 变量来更改。

  2. 环境变量 ENV{OPENALDIR}

  3. 系统路径。

  4. 用户编译的框架:~/Library/Frameworks

  5. 手动编译的框架:/Library/Frameworks

  6. 附加包:/opt

示例

查找 OpenAL 库并将其链接到项目目标

find_package(OpenAL)
target_link_libraries(project_target PRIVATE OpenAL::OpenAL)