FindSDL_mixer¶
查找 SDL_mixer 库,该库为 SDL(Simple DirectMedia Layer)应用程序提供支持各种文件格式的音频混音器。
注意
此模块专门用于 SDL_mixer 版本 1。从版本 2.5 开始,SDL_mixer 在使用 CMake 构建时提供 CMake 包配置文件,应使用 find_package(SDL2_mixer)
进行查找。这些较新版本提供 导入的目标 来封装使用要求。有关更多信息,请参阅官方 SDL 文档。
结果变量¶
此模块定义了以下变量
SDL_MIXER_FOUND
一个布尔值,指示是否找到(请求版本)的 SDL_mixer 库。为了向后兼容,
SDL_MIXER_FOUND
变量也设置为相同的值。SDL_MIXER_VERSION_STRING
包含所找到的 SDL_mixer 版本的可读字符串。
SDL_MIXER_INCLUDE_DIRS
包含使用 SDL_mixer 库所需的头文件的目录。
SDL_MIXER_LIBRARIES
链接 SDL_mixer 所需的库。
提示¶
此模块接受以下变量
SDLDIR
可以设置的一个环境变量,用于帮助定位安装在自定义位置的 SDL 库。它应该指向配置、构建和安装 SDL 库时使用的安装目标:
./configure --prefix=$SDLDIR
。
已弃用变量¶
为了向后兼容,以下变量也已设置
SDLMIXER_FOUND
版本 2.8.10 已弃用: 使用
SDL_mixer_FOUND
,它具有相同的值。SDLMIXER_INCLUDE_DIR
版本 2.8.10 已弃用: 使用
SDL_MIXER_INCLUDE_DIRS
,它具有相同的值。SDLMIXER_LIBRARY
版本 2.8.10 已弃用: 使用
SDL_MIXER_LIBRARIES
,它具有相同的值。
示例¶
查找 SDL_mixer 库并创建一个导入的接口目标以将其链接到项目目标
find_package(SDL_mixer)
if(SDL_mixer_FOUND AND NOT TARGET SDL::SDL_mixer)
add_library(SDL::SDL_mixer INTERFACE IMPORTED)
set_target_properties(
SDL::SDL_mixer
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${SDL_MIXER_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${SDL_MIXER_LIBRARIES}"
)
endif()
target_link_libraries(project_target PRIVATE SDL::SDL_mixer)
在使用 SDL_mixer 版本 2 时,上游包直接提供 SDL2_mixer::SDL2_mixer
导入目标。可以在不使用此模块的情况下在项目中使用它
find_package(SDL2_mixer)
target_link_libraries(project_target PRIVATE SDL2_mixer::SDL2_mixer)
另请参阅¶
用于查找主 SDL 库的
FindSDL
模块。