Adding SDL3-Mixer port (#50358)

This commit is contained in:
Ada Tufankjian 2026-03-12 22:48:15 -07:00 committed by GitHub
parent 8e1af6bc69
commit a8f78d257a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 149 additions and 0 deletions

View File

@ -0,0 +1,61 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libsdl-org/SDL_mixer
REF "release-${VERSION}"
HEAD_REF main
SHA512 5f53ab3011e5727df51e405a687c0699e1530d4d597ab299ce8a6008a3c8295cf9170b072bf07ec49fb0af6eee757005a10cf67aa283b23575a3f58874c9b6be
)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
fluidsynth SDLMIXER_MIDI
fluidsynth SDLMIXER_MIDI_FLUIDSYNTH
libflac SDLMIXER_FLAC
libflac SDLMIXER_FLAC_LIBFLAC
libxmp SDLMIXER_MOD
libxmp SDLMIXER_MOD_XMP
mpg123 SDLMIXER_MP3
mpg123 SDLMIXER_MP3_MPG123
opusfile SDLMIXER_OPUS
libvorbis SDLMIXER_VORBIS_VORBISFILE
wavpack SDLMIXER_WAVPACK
)
if("fluidsynth" IN_LIST FEATURES)
vcpkg_find_acquire_program(PKGCONFIG)
list(APPEND EXTRA_OPTIONS "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}")
endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
${EXTRA_OPTIONS}
-DSDLMIXER_TESTS=OFF
-DSDLMIXER_VENDORED=OFF
-DSDLMIXER_DEPS_SHARED=OFF
-DSDLMIXER_OPUS_SHARED=OFF
-DSDLMIXER_VORBIS_VORBISFILE_SHARED=OFF
-DSDLMIXER_FLAC_DRFLAC=OFF
-DSDLMIXER_MIDI_TIMIDITY=OFF
-DSDLMIXER_MP3_DRMP3=OFF
-DSDLMIXER_MOD_XMP_SHARED=${BUILD_SHARED}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_cmake_config_fixup(PACKAGE_NAME "SDL3_mixer" CONFIG_PATH "cmake")
else()
vcpkg_cmake_config_fixup(PACKAGE_NAME "SDL3_mixer" CONFIG_PATH "lib/cmake/SDL3_mixer")
endif()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")

4
ports/sdl3-mixer/usage Normal file
View File

@ -0,0 +1,4 @@
sdl3-mixer provides CMake targets:
find_package(SDL3_mixer CONFIG REQUIRED)
target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:SDL3_mixer::SDL3_mixer>,SDL3_mixer::SDL3_mixer,SDL3_mixer::SDL3_mixer-static>)

View File

@ -0,0 +1,71 @@
{
"name": "sdl3-mixer",
"version": "3.2.0",
"description": "An audio mixer that supports various file formats for Simple Directmedia Layer.",
"homepage": "https://github.com/libsdl-org/SDL_mixer",
"license": "Zlib",
"dependencies": [
{
"name": "sdl3",
"default-features": false
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"fluidsynth": {
"description": "Use FluidSynth to play MIDI audio format.",
"dependencies": [
"fluidsynth"
]
},
"libflac": {
"description": "Use libflac to play FLAC audio format.",
"dependencies": [
{
"name": "libflac",
"default-features": false
}
]
},
"libvorbis": {
"description": "Use libvorbis to play Vorbis audio format.",
"dependencies": [
"libvorbis"
]
},
"libxmp": {
"description": "Use libxmp to open MOD files.",
"dependencies": [
{
"name": "libxmp",
"default-features": false
}
]
},
"mpg123": {
"description": "Use mpg123 to play MP3 audio format.",
"dependencies": [
"mpg123"
]
},
"opusfile": {
"description": "Use opusfile to play Opus audio format.",
"dependencies": [
"opusfile"
]
},
"wavpack": {
"description": "Use wavpack to play WAV audio format.",
"dependencies": [
"wavpack"
]
}
}
}

View File

@ -8984,6 +8984,10 @@
"baseline": "3.4.0",
"port-version": 0
},
"sdl3-mixer": {
"baseline": "3.2.0",
"port-version": 0
},
"sdl3-shadercross": {
"baseline": "3.0.0-preview1",
"port-version": 0

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "a1f2a16b382a4a84eadedcce4ace58a0de4a8061",
"version": "3.2.0",
"port-version": 0
}
]
}