FindSDL_mixer¶
查找 SDL_mixer 库,该库提供了一个音频混音器,支持 SDL(Simple DirectMedia Layer)应用程序中的各种文件格式。
find_package(SDL_mixer [<version>] [...])
注意
此模块专门用于 SDL_mixer 版本 1。从版本 2.5 开始,SDL_mixer 在使用 CMake 构建时提供 CMake 包配置文件,应使用 find_package(SDL2_mixer) 进行查找。这些较新版本提供了 导入的目标,这些目标封装了使用要求。有关更多信息,请参阅官方 SDL 文档。
结果变量¶
此模块定义了以下变量
SDL_mixer_FOUND3.3 版本中新增。
一个布尔值,指示是否找到了(所请求版本的)SDL_mixer 库。
SDL_mixer_VERSION版本 4.2 中添加。
包含找到的 SDL_mixer 版本的人类可读字符串。
SDL_MIXER_INCLUDE_DIRS包含使用 SDL_mixer 库所需的头文件的目录。
SDL_MIXER_LIBRARIES链接使用 SDL_mixer 所需的库。
提示¶
此模块接受以下变量
SDLDIR环境变量,可用于帮助定位安装在自定义位置的 SDL 库。它应指向配置、构建和安装 SDL 库时使用的安装目标:
./configure --prefix=$SDLDIR。
已弃用变量¶
以下变量提供用于向后兼容性
SDL_MIXER_VERSION_STRING自版本 4.2 起已弃用: 使用
SDL_mixer_VERSION,其值相同。包含找到的 SDL_mixer 版本的人类可读字符串。
SDL_MIXER_FOUND自版本 4.2 起已弃用: 使用
SDL_mixer_FOUND,其值相同。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模块。