2022-09-23 05:23:53 +08:00
vcpkg_from_github (
O U T _ S O U R C E _ P A T H S O U R C E _ P A T H
R E P O b r e a k f a s t q u a y / r u b b e r b a n d
2023-04-07 08:02:13 +08:00
R E F " v $ { V E R S I O N } "
2023-08-01 02:18:04 +08:00
S H A 5 1 2 6 d 7 c e 8 0 f 4 7 a 5 8 7 0 9 2 0 7 4 8 d 6 e 2 f f 9 4 2 5 f 9 d 9 0 e 3 f d 2 d 6 2 d 7 b 9 3 7 1 5 8 a d 2 1 3 4 8 2 9 b c 1 d 1 e 3 4 e c 4 f d 6 3 2 7 d e 5 d 6 f 1 9 2 4 b 4 b b 7 9 3 d c 4 c 9 d 1 0 5 7 4 1 0 2 e 1 1 3 3 8 3 8 3 c 4 5 2 2 b a 8 4
2022-09-23 05:23:53 +08:00
H E A D _ R E F d e f a u l t
)
2023-04-07 08:02:13 +08:00
if ( "cli" IN_LIST FEATURES )
set ( CLI_FEATURE enabled )
else ( )
set ( CLI_FEATURE disabled )
endif ( )
2023-06-08 03:00:50 +08:00
# Select fastest available FFT library according https://github.com/breakfastquay/rubberband/blob/default/COMPILING.md#fft-libraries-supported
2024-03-05 17:43:10 +08:00
if (
( V C P K G _ T A R G E T _ I S _ W I N D O W S AND ( VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" ) )
OR ( VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" )
O R V C P K G _ T A R G E T _ I S _ I O S
O R V C P K G _ T A R G E T _ I S _ E M S C R I P T E N
)
2023-06-08 03:00:50 +08:00
set ( FFT_LIB "fftw" )
else ( )
set ( FFT_LIB "sleef" )
endif ( )
2022-09-23 05:23:53 +08:00
vcpkg_configure_meson (
S O U R C E _ P A T H " $ { S O U R C E _ P A T H } "
O P T I O N S
2023-06-08 03:00:50 +08:00
- D f f t = $ { F F T _ L I B } # 'auto', 'builtin', 'kissfft', 'fftw', sleef', 'vdsp', 'ipp' 'FFT library to use. The default (auto) will use vDSP if available, the builtin implementation otherwise.')
2023-04-07 08:02:13 +08:00
- D r e s a m p l e r = l i b s a m p l e r a t e # 'auto', 'builtin', 'libsamplerate', 'speex', 'libspeexdsp', 'ipp' 'Resampler library to use. The default (auto) simply uses the builtin implementation.'
2022-09-23 05:23:53 +08:00
- D i p p _ p a t h = # 'Path to Intel IPP libraries, if selected for any of the other options.'
- D e x t r a _ i n c l u d e _ d i r s = # 'Additional local header directories to search for dependencies.'
- D e x t r a _ l i b _ d i r s = # 'Additional local library directories to search for dependencies.'
2023-04-07 08:02:13 +08:00
- D j n i = d i s a b l e d # 'auto', 'disabled', 'enabled'
- D l a d s p a = d i s a b l e d # 'auto', 'disabled', 'enabled'
- D l v 2 = d i s a b l e d # 'auto', 'disabled', 'enabled' lv2 feature is not yet supported yet because vcpkg can't isntall to
# %APPDATA%\LV2 or %COMMONPROGRAMFILES%\LV2 but also complains about dlls in "${CURRENT_PACKAGES_DIR}/lib/lv2"
- D v a m p = d i s a b l e d # 'auto', 'disabled', 'enabled'
- D c m d l i n e = $ { C L I _ F E A T U R E } # 'auto', 'disabled', 'enabled'
- D t e s t s = d i s a b l e d # 'auto', 'disabled', 'enabled'
2022-09-23 05:23:53 +08:00
)
vcpkg_install_meson ( )
vcpkg_fixup_pkgconfig ( )
vcpkg_copy_pdbs ( )
if ( EXISTS "${CURRENT_PACKAGES_DIR}/bin/rubberband-program${VCPKG_TARGET_EXECUTABLE_SUFFIX}" )
2022-11-03 04:43:21 +08:00
# Rubberband uses a different executable name when compiled with msvc
2022-09-23 05:23:53 +08:00
# Just looking for that file is faster than detecting msvc builds
2022-11-03 04:43:21 +08:00
set ( RUBBERBAND_PROGRAM_NAMES rubberband-program rubberband-program-r3 )
2022-09-23 05:23:53 +08:00
else ( )
2022-11-03 04:43:21 +08:00
set ( RUBBERBAND_PROGRAM_NAMES rubberband rubberband-r3 )
endif ( )
2022-09-23 05:23:53 +08:00
2022-11-03 04:43:21 +08:00
# Remove them when not enabled.
2022-09-23 05:23:53 +08:00
if ( "cli" IN_LIST FEATURES )
2022-11-03 04:43:21 +08:00
vcpkg_copy_tools ( TOOL_NAMES ${ RUBBERBAND_PROGRAM_NAMES } AUTO_CLEAN )
2022-09-23 05:23:53 +08:00
endif ( )
2023-08-01 02:18:04 +08:00
vcpkg_install_copyright ( FILE_LIST "${SOURCE_PATH}/COPYING" )