vcpkg/ports/sdl2-mixer/portfile.cmake
LilyWangLL 86fb7a15bc
[sdl2-mixer] Fix feature mpg123 build error (#21812)
* [sdl2-mixer] Disable feature mpg123 temporarily

* update version

* [sdl2-mixer] fix feature mpg123 build error

* update version

Co-authored-by: Lily Wang <v-lilywang@microsoft.com>
2021-12-06 20:35:19 -08:00

60 lines
2.0 KiB
CMake

set(SDL2_MIXER_VERSION 2.0.4)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${SDL2_MIXER_VERSION}.zip"
FILENAME "SDL2_mixer-${SDL2_MIXER_VERSION}.zip"
SHA512 359b4f9877804f9c4b3cb608ca6082aab684f07a20a816ab71c8cdf85d26f76d67eeb5aee44daf52b7935d82aa3b45941f8f53f07ca3dd5150d6c58ed99e1492
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${SDL2_MIXER_VERSION}
PATCHES
fix-featurempg123.patch
)
if ("dynamic-load" IN_LIST FEATURES)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
message("Building static library, disable dynamic loading")
elseif (NOT "mpg123" IN_LIST FEATURES
AND NOT "libflac" IN_LIST FEATURES
AND NOT "libmodplug" IN_LIST FEATURES
AND NOT "libvorbis" IN_LIST FEATURES
AND NOT "opusfile" IN_LIST FEATURES
)
message("No features selected, dynamic loading will not be enabled")
endif()
endif()
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
dynamic-load SDL_DYNAMIC_LOAD
mpg123 SDL_MIXER_ENABLE_MP3
libflac SDL_MIXER_ENABLE_FLAC
libmodplug SDL_MIXER_ENABLE_MOD
libvorbis SDL_MIXER_ENABLE_OGGVORBIS
opusfile SDL_MIXER_ENABLE_OPUS
nativemidi SDL_MIXER_ENABLE_NATIVEMIDI
fluidsynth SDL_MIXER_ENABLE_FLUIDSYNTH
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DLIBRARY_SUFFIX=${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX} # It should always be dynamic suffix
OPTIONS_DEBUG
-DSDL_MIXER_SKIP_HEADERS=ON
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL "${SOURCE_PATH}/COPYING.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)