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 的搜索顺序如下:
默认情况下,在 macOS 上,首先搜索系统框架:
/System/Library/Frameworks
,其优先级可以通过设置CMAKE_FIND_FRAMEWORK
变量来更改。环境变量
ENV{OPENALDIR}
。系统路径。
用户编译的框架:
~/Library/Frameworks
。手动编译的框架:
/Library/Frameworks
。附加包:
/opt
。
示例¶
查找 OpenAL 库并将其链接到项目目标
find_package(OpenAL)
target_link_libraries(project_target PRIVATE OpenAL::OpenAL)