FindOpenAL¶
查找 Open Audio Library (OpenAL)
find_package(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 库使用需求的 Target,仅在找到 OpenAL 库时可用。
结果变量¶
此模块定义了以下变量
OpenAL_FOUND3.3 版本中新增。
布尔值,指示是否找到 OpenAL。
缓存变量¶
以下缓存变量也可以设置
OPENAL_INCLUDE_DIR包含使用 OpenAL 库所需的头文件的目录。
OPENAL_LIBRARYOpenAL 库的路径。
提示¶
此模块接受以下变量
OPENALDIR环境变量,可用于在非标准位置设置 OpenAL 的安装前缀。
OpenAL 的搜索顺序如下:
默认情况下,在 macOS 上,系统框架会首先被搜索:
/System/Library/Frameworks,其优先级可以通过设置CMAKE_FIND_FRAMEWORK变量来更改。环境变量
ENV{OPENALDIR}。系统路径。
用户编译的框架:
~/Library/Frameworks。手动编译的框架:
/Library/Frameworks。附加包:
/opt。
已弃用变量¶
以下变量提供用于向后兼容性
OPENAL_FOUND自 4.2 版本起已弃用:请使用
OpenAL_FOUND,其值相同。布尔值,指示是否找到 OpenAL。
示例¶
查找 OpenAL 库并将其链接到项目 Target
find_package(OpenAL)
target_link_libraries(project_target PRIVATE OpenAL::OpenAL)