diff options
Diffstat (limited to 'vcpkg/ports/fluidsynth/portfile.cmake')
| -rw-r--r-- | vcpkg/ports/fluidsynth/portfile.cmake | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/vcpkg/ports/fluidsynth/portfile.cmake b/vcpkg/ports/fluidsynth/portfile.cmake new file mode 100644 index 0000000..80620f8 --- /dev/null +++ b/vcpkg/ports/fluidsynth/portfile.cmake @@ -0,0 +1,92 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO FluidSynth/fluidsynth + REF "v${VERSION}" + SHA512 8f326db4049b3241c7a0472aa5db8c715dcfc0a1ce9c5fda492bf84e6c17e27a2298131a58a51e275797259a434e59bfe3f53d85358f903652dca8de753a3376 + HEAD_REF master + PATCHES + cmake-config-glib.diff +) +# Do not use or install FindSndFileLegacy.cmake and its deps +file(REMOVE + "${SOURCE_PATH}/cmake_admin/FindFLAC.cmake" + "${SOURCE_PATH}/cmake_admin/Findmp3lame.cmake" + "${SOURCE_PATH}/cmake_admin/Findmpg123.cmake" + "${SOURCE_PATH}/cmake_admin/FindOgg.cmake" + "${SOURCE_PATH}/cmake_admin/FindOpus.cmake" + "${SOURCE_PATH}/cmake_admin/FindSndFileLegacy.cmake" + "${SOURCE_PATH}/cmake_admin/FindVorbis.cmake" +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + libinstpatch enable-libinstpatch + sndfile enable-libsndfile + pulseaudio enable-pulseaudio +) + +# enable platform-specific features, force the build to fail if the required libraries are not found, +# and disable all other features to avoid system libraries to be picked up +set(WINDOWS_OPTIONS enable-dsound enable-wasapi enable-waveout enable-winmidi HAVE_MMSYSTEM_H HAVE_DSOUND_H HAVE_OBJBASE_H) +set(MACOS_OPTIONS enable-coreaudio enable-coremidi COREAUDIO_FOUND COREMIDI_FOUND) +set(LINUX_OPTIONS enable-alsa ALSA_FOUND) +set(ANDROID_OPTIONS enable-opensles OpenSLES_FOUND) +set(IGNORED_OPTIONS enable-coverage enable-dbus enable-floats enable-fpe-check enable-framework enable-jack + enable-libinstpatch enable-midishare enable-oboe enable-openmp enable-oss enable-pipewire enable-portaudio + enable-profiling enable-readline enable-sdl3 enable-systemd enable-trap-on-fpe enable-ubsan) + +if(VCPKG_TARGET_IS_WINDOWS) + set(OPTIONS_TO_ENABLE ${WINDOWS_OPTIONS}) + set(OPTIONS_TO_DISABLE ${MACOS_OPTIONS} ${LINUX_OPTIONS} ${ANDROID_OPTIONS}) +elseif(VCPKG_TARGET_IS_OSX) + set(OPTIONS_TO_ENABLE ${MACOS_OPTIONS}) + set(OPTIONS_TO_DISABLE ${WINDOWS_OPTIONS} ${LINUX_OPTIONS} ${ANDROID_OPTIONS}) +elseif(VCPKG_TARGET_IS_LINUX) + set(OPTIONS_TO_ENABLE ${LINUX_OPTIONS}) + set(OPTIONS_TO_DISABLE ${WINDOWS_OPTIONS} ${MACOS_OPTIONS} ${ANDROID_OPTIONS}) +elseif(VCPKG_TARGET_IS_ANDROID) + set(OPTIONS_TO_ENABLE ${ANDROID_OPTIONS}) + set(OPTIONS_TO_DISABLE ${WINDOWS_OPTIONS} ${MACOS_OPTIONS} ${LINUX_OPTIONS}) +endif() + +foreach(_option IN LISTS OPTIONS_TO_ENABLE) + list(APPEND ENABLED_OPTIONS "-D${_option}:BOOL=ON") +endforeach() + +foreach(_option IN LISTS OPTIONS_TO_DISABLE IGNORED_OPTIONS) + list(APPEND DISABLED_OPTIONS "-D${_option}:BOOL=OFF") +endforeach() + +vcpkg_find_acquire_program(PKGCONFIG) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + ${ENABLED_OPTIONS} + ${DISABLED_OPTIONS} + "-Dosal=cpp11" + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + MAYBE_UNUSED_VARIABLES + ${OPTIONS_TO_DISABLE} + enable-coverage + enable-framework + enable-ubsan +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fluidsynth) +vcpkg_fixup_pkgconfig() + +vcpkg_copy_tools(TOOL_NAMES fluidsynth AUTO_CLEAN) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/man") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + |