[mp3lame,libsndfile,sdl3-mixer] Revise (#51508)

This commit is contained in:
Kai Pastor 2026-05-05 05:18:51 +02:00 committed by GitHub
parent 73754c4052
commit b40f8d2532
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 158 additions and 152 deletions

View File

@ -1,14 +1,17 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b501f08..946c321 100644
index b501f08..0932ad5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -236,6 +236,10 @@ if (INSTALL_PKGCONFIG_MODULE)
@@ -236,6 +236,13 @@ if (INSTALL_PKGCONFIG_MODULE)
if (ENABLE_MPEG)
set (EXTERNAL_MPEG_REQUIRE "libmpg123")
set (EXTERNAL_MPEG_LIBS "-lmp3lame")
+ get_target_property(mp3lame_binary mp3lame::mp3lame IMPORTED_LOCATION_RELEASE)
+ if(mp3lame_binary MATCHES "mp3lame-static")
+ set (EXTERNAL_MPEG_LIBS "-lmp3lame-static -lmpghip-static")
+ endif()
+ if(CMAKE_STATIC_LIBRARY_PREFIX STREQUAL "")
+ string (REPLACE "-lmp" "-llibmp" EXTERNAL_MPEG_LIBS "${EXTERNAL_MPEG_LIBS}")
+ endif()
endif ()

View File

@ -1,25 +1,26 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libsndfile/libsndfile
REF 1.2.2
REF ${VERSION}
SHA512 fb8b4d367240a8ac9d55be6f053cb19419890691c56a8552d1600d666257992b6e8e41a413a444c9f2d6c5d71406013222c92a3bfa67228944a26475444240a1
HEAD_REF master
PATCHES
001-avoid-installing-find-modules.patch
mp3lame-static.diff
mp3lame.diff
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
vcpkg_find_acquire_program(PYTHON3)
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS
FEATURES
external-libs ENABLE_EXTERNAL_LIBS
mpeg ENABLE_MPEG
regtest BUILD_REGTEST
external-libs ENABLE_EXTERNAL_LIBS
mpeg ENABLE_MPEG
regtest BUILD_REGTEST
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
vcpkg_find_acquire_program(PYTHON3)
list(APPEND OPTIONS "-DPYTHON_EXECUTABLE=${PYTHON3}")
endif()
if(VCPKG_TARGET_IS_UWP)
set(VCPKG_C_FLAGS "/sdl- ${VCPKG_C_FLAGS}")
set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}")
@ -34,27 +35,22 @@ vcpkg_cmake_configure(
-DBUILD_PROGRAMS=OFF
-DBUILD_REGTEST=OFF
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON
-DPYTHON_EXECUTABLE=${PYTHON3}
${FEATURE_OPTIONS}
MAYBE_UNUSED_VARIABLES
PYTHON_EXECUTABLE
${OPTIONS}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake")
set(CONFIG_PATH cmake)
else()
set(CONFIG_PATH lib/cmake/SndFile)
endif()
vcpkg_cmake_config_fixup(PACKAGE_NAME SndFile CONFIG_PATH "${CONFIG_PATH}")
vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc")
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")

View File

@ -1,7 +1,7 @@
{
"name": "libsndfile",
"version-semver": "1.2.2",
"port-version": 1,
"port-version": 2,
"description": "A library for reading and writing audio files",
"homepage": "https://github.com/erikd/libsndfile",
"license": "LGPL-2.1-or-later",

View File

@ -1,61 +0,0 @@
get_filename_component(_mp3lame_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH)
get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH)
set(_mp3lame_rel_lib "${_mp3lame_root}/lib/@MP3LAME_LIB@")
set(_mp3lame_dbg_lib "${_mp3lame_root}/debug/lib/@MP3LAME_LIB@")
set(mp3lame_FOUND FALSE)
if (EXISTS "${_mp3lame_rel_lib}" OR EXISTS "${_mp3lame_dbg_lib}" AND NOT TARGET mp3lame::mp3lame)
add_library(mp3lame::mp3lame UNKNOWN IMPORTED)
set_target_properties(mp3lame::mp3lame
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_mp3lame_root}/include")
if (EXISTS "${_mp3lame_rel_lib}")
set_target_properties(mp3lame::mp3lame
PROPERTIES IMPORTED_LOCATION_RELEASE "${_mp3lame_rel_lib}")
set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
endif()
if (EXISTS "${_mp3lame_dbg_lib}")
set_target_properties(mp3lame::mp3lame
PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_dbg_lib}")
set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
endif()
set(_mp3lame_mpghip_rel_lib "${_mp3lame_root}/lib/libmpghip-static.lib")
set(_mp3lame_mpghip_dbg_lib "${_mp3lame_root}/debug/lib/libmpghip-static.lib")
if (EXISTS "${_mp3lame_mpghip_rel_lib}" OR EXISTS "${_mp3lame_mpghip_dbg_lib}")
add_library(mp3lame::mpghip UNKNOWN IMPORTED)
if (EXISTS "${_mp3lame_rel_lib}")
set_target_properties(mp3lame::mpghip
PROPERTIES IMPORTED_LOCATION_RELEASE "${_mp3lame_mpghip_rel_lib}")
set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
endif()
if (EXISTS "${_mp3lame_dbg_lib}")
set_target_properties(mp3lame::mpghip
PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_mpghip_dbg_lib}")
set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
endif()
set_target_properties(mp3lame::mp3lame PROPERTIES INTERFACE_LINK_LIBRARIES mp3lame::mpghip)
endif()
unset(_mp3lame_mpghip_rel_lib)
unset(_mp3lame_mpghip_dbg_lib)
endif()
if(TARGET mp3lame::mp3lame)
set(mp3lame_FOUND TRUE)
endif()
unset(_mp3lame_rel_lib)
unset(_mp3lame_dbg_lib)
unset(_mp3lame_root)

View File

@ -0,0 +1,41 @@
get_filename_component(_mp3lame_root "${CMAKE_CURRENT_LIST_DIR}" PATH)
get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH)
if(NOT TARGET mp3lame::mp3lame)
set(_mp3lame_lib_names libmp3lame libmp3lame-static mp3lame)
find_library(_mp3lame_rel_lib NAMES ${_mp3lame_lib_names} PATHS "${_mp3lame_root}/lib" NO_CACHE NO_DEFAULT_PATH)
find_library(_mp3lame_dbg_lib NAMES ${_mp3lame_lib_names} PATHS "${_mp3lame_root}/debug/lib" NO_CACHE NO_DEFAULT_PATH)
add_library(mp3lame::mp3lame UNKNOWN IMPORTED)
set_target_properties(mp3lame::mp3lame PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_mp3lame_root}/include"
IMPORTED_CONFIGURATIONS RELEASE
IMPORTED_LOCATION_RELEASE "${_mp3lame_rel_lib}"
)
if(_mp3lame_lib_debug)
set_target_properties(mp3lame::mp3lame PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_dbg_lib}")
set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
endif()
unset(_mp3lame_rel_lib)
unset(_mp3lame_dbg_lib)
unset(_mp3lame_lib_names)
set(_mp3lame_mpghip_rel_lib "${_mp3lame_root}/lib/libmpghip-static.lib")
set(_mp3lame_mpghip_dbg_lib "${_mp3lame_root}/debug/lib/libmpghip-static.lib")
if(EXISTS "${_mp3lame_mpghip_rel_lib}")
add_library(#[[skip-usage-heuristics]] mp3lame::mpghip UNKNOWN IMPORTED)
set_target_properties(mp3lame::mpghip PROPERTIES
IMPORTED_CONFIGURATIONS RELEASE
IMPORTED_LOCATION_RELEASE "${_mp3lame_mpghip_rel_lib}"
)
if (EXISTS "${_mp3lame_dbg_lib}")
set_target_properties(mp3lame::mpghip PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_mpghip_dbg_lib}")
set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
endif()
set_target_properties(mp3lame::mp3lame PROPERTIES INTERFACE_LINK_LIBRARIES mp3lame::mpghip)
endif()
unset(_mp3lame_mpghip_rel_lib)
unset(_mp3lame_mpghip_dbg_lib)
endif()
unset(_mp3lame_root)

View File

@ -37,7 +37,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
foreach(vcxproj ${vcxprojs})
file(READ "${SOURCE_PATH}/vc_solution/${vcxproj}" vcxproj_con)
if(NOT VCPKG_CRT_LINKAGE STREQUAL dynamic)
if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic")
string(REPLACE "DLL</RuntimeLibrary>" "</RuntimeLibrary>" vcxproj_con "${vcxproj_con}")
endif()
@ -46,7 +46,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
string(REPLACE "|Win32" "|${platform}" vcxproj_con "${vcxproj_con}")
string(REPLACE "Include=\"vc11_" "Include=\"${machine}_vc11_" vcxproj_con "${vcxproj_con}")
if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if(NOT VCPKG_TARGET_IS_UWP)
string(REPLACE "/APPCONTAINER" "" vcxproj_con "${vcxproj_con}")
endif()
@ -77,42 +77,27 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
)
endif()
file(COPY "${SOURCE_PATH}/include/lame.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/lame")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin")
file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmp3lame.lib")
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame.lib")
endif()
set(MP3LAME_LIB "libmp3lame-static.lib")
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/bin"
"${CURRENT_PACKAGES_DIR}/lib/libmp3lame.lib"
"${CURRENT_PACKAGES_DIR}/debug/bin"
"${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame.lib"
)
else()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmp3lame-static.lib")
file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmpghip-static.lib")
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame-static.lib")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmpghip-static.lib")
endif()
set(MP3LAME_LIB "libmp3lame.lib")
file(REMOVE
"${CURRENT_PACKAGES_DIR}/lib/libmp3lame-static.lib"
"${CURRENT_PACKAGES_DIR}/lib/libmpghip-static.lib"
"${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame-static.lib"
"${CURRENT_PACKAGES_DIR}/debug/lib/libmpghip-static.lib"
)
endif()
else()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
set(OPTIONS --enable-static=yes --enable-shared=no)
set(MP3LAME_LIB "libmp3lame${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
else()
set(OPTIONS --enable-shared=yes --enable-static=no)
if(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX)
set(MP3LAME_LIB "libmp3lame${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}")
else()
set(MP3LAME_LIB "libmp3lame${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")
endif()
endif()
vcpkg_list(SET OPTIONS)
if("frontend" IN_LIST FEATURES)
list(APPEND OPTIONS --enable-frontend)
else()
@ -123,22 +108,23 @@ else()
list(APPEND OPTIONS --with-pic=yes)
endif()
vcpkg_configure_make(
vcpkg_make_configure(
SOURCE_PATH "${SOURCE_PATH}"
DETERMINE_BUILD_TRIPLET
OPTIONS ${OPTIONS}
OPTIONS
${OPTIONS}
)
vcpkg_make_install()
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/doc"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/man1"
)
vcpkg_install_make()
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
)
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/man1")
# unofficial, but port legacy
file(COPY "${CMAKE_CURRENT_LIST_DIR}/mp3lame-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(COPY "${SOURCE_PATH}/include/lame.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/lame")
configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/mp3lame-config.cmake" @ONLY)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")

View File

@ -1,4 +0,0 @@
The package mp3lame provides CMake targets:
find_package(mp3lame CONFIG REQUIRED)
target_link_libraries(main PRIVATE mp3lame::mp3lame)

View File

@ -1,11 +1,16 @@
{
"name": "mp3lame",
"version": "3.100",
"port-version": 16,
"port-version": 17,
"description": "LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.",
"homepage": "https://lame.sourceforge.io",
"license": "LGPL-2.0-only",
"dependencies": [
{
"name": "vcpkg-make",
"host": true,
"platform": "!windows | mingw"
},
{
"name": "vcpkg-msbuild",
"host": true,

View File

@ -0,0 +1,26 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1daae35..403f9b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -899,7 +899,7 @@ if(SDLMIXER_MIDI_FLUIDSYNTH)
message(STATUS "${PROJECT_NAME}: Using FluidSynth from CMake variable")
set(SDLMIXER_MIDI_FLUIDSYNTH_ENABLED TRUE)
else()
- find_package(FluidSynth "2.2.0" ${required})
+ find_package(FluidSynth CONFIG ${required})
if(FluidSynth_FOUND)
set(SDLMIXER_MIDI_FLUIDSYNTH_ENABLED TRUE)
message(STATUS "Using system FluidSynth")
diff --git a/cmake/SDL3_mixerConfig.cmake.in b/cmake/SDL3_mixerConfig.cmake.in
index acea4bd..2969ed3 100644
--- a/cmake/SDL3_mixerConfig.cmake.in
+++ b/cmake/SDL3_mixerConfig.cmake.in
@@ -94,7 +94,7 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_mixer-static-targets.cmake")
endif()
if(SDLMIXER_MIDI_FLUIDSYNTH AND NOT TARGET FluidSynth::libfluidsynth)
- find_dependency(FluidSynth "2.2.0")
+ find_dependency(FluidSynth CONFIG)
endif()
if(SDLMIXER_VORBIS_TREMOR AND NOT TARGET tremor::tremor)

View File

@ -4,29 +4,27 @@ vcpkg_from_github(
REF "release-${VERSION}"
HEAD_REF main
SHA512 5f53ab3011e5727df51e405a687c0699e1530d4d597ab299ce8a6008a3c8295cf9170b072bf07ec49fb0af6eee757005a10cf67aa283b23575a3f58874c9b6be
PATCHES
fluidsynth.diff
)
file(WRITE "${SOURCE_PATH}/cmake/FindFluidSynth.cmake" "# disabled by vcpkg\n")
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
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(
@ -34,6 +32,7 @@ vcpkg_cmake_configure(
OPTIONS
${FEATURE_OPTIONS}
${EXTRA_OPTIONS}
-DSDLMIXER_STRICT=ON
-DSDLMIXER_TESTS=OFF
-DSDLMIXER_VENDORED=OFF
-DSDLMIXER_DEPS_SHARED=OFF

View File

@ -1,7 +1,7 @@
{
"name": "sdl3-mixer",
"version": "3.2.0",
"port-version": 2,
"port-version": 3,
"description": "An audio mixer that supports various file formats for Simple Directmedia Layer.",
"homepage": "https://github.com/libsdl-org/SDL_mixer",
"license": "Zlib",

View File

@ -5594,7 +5594,7 @@
},
"libsndfile": {
"baseline": "1.2.2",
"port-version": 1
"port-version": 2
},
"libsnoretoast": {
"baseline": "0.8.0",
@ -6638,7 +6638,7 @@
},
"mp3lame": {
"baseline": "3.100",
"port-version": 16
"port-version": 17
},
"mpark-patterns": {
"baseline": "2019-10-03",
@ -9066,7 +9066,7 @@
},
"sdl3-mixer": {
"baseline": "3.2.0",
"port-version": 2
"port-version": 3
},
"sdl3-shadercross": {
"baseline": "3.0.0-preview2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "7bcce976ee29dd1435c8d215e34cfb4eaf59b120",
"version-semver": "1.2.2",
"port-version": 2
},
{
"git-tree": "e03db9df510b118665145e6e60a1e00e60bc345c",
"version-semver": "1.2.2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "67a6a7a9a260c058627e8888ae8113e4f23f63ee",
"version": "3.100",
"port-version": 17
},
{
"git-tree": "e8654afdab2b9d246049d3cdbe9598a01f4d0702",
"version": "3.100",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c4c581e3201a02b4b9856eefdaeafe10ba12ab99",
"version": "3.2.0",
"port-version": 3
},
{
"git-tree": "ecd00493098fe345f1715c63e49d5aaaee8dc808",
"version": "3.2.0",