diff --git a/ports/sdl3-mixer/portfile.cmake b/ports/sdl3-mixer/portfile.cmake new file mode 100644 index 0000000000..4aae518615 --- /dev/null +++ b/ports/sdl3-mixer/portfile.cmake @@ -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") diff --git a/ports/sdl3-mixer/usage b/ports/sdl3-mixer/usage new file mode 100644 index 0000000000..48f4d08e0c --- /dev/null +++ b/ports/sdl3-mixer/usage @@ -0,0 +1,4 @@ +sdl3-mixer provides CMake targets: + + find_package(SDL3_mixer CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,SDL3_mixer::SDL3_mixer,SDL3_mixer::SDL3_mixer-static>) diff --git a/ports/sdl3-mixer/vcpkg.json b/ports/sdl3-mixer/vcpkg.json new file mode 100644 index 0000000000..930993a3fe --- /dev/null +++ b/ports/sdl3-mixer/vcpkg.json @@ -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" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index c638b3d66c..6706e2ee60 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -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 diff --git a/versions/s-/sdl3-mixer.json b/versions/s-/sdl3-mixer.json new file mode 100644 index 0000000000..cbb66fd4c6 --- /dev/null +++ b/versions/s-/sdl3-mixer.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a1f2a16b382a4a84eadedcce4ace58a0de4a8061", + "version": "3.2.0", + "port-version": 0 + } + ] +}