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 } "
2024-11-06 04:50:56 +08:00
S H A 5 1 2 f 5 8 1 e 9 0 0 a 7 1 f 7 8 f d e 3 3 6 1 d 2 b e d 2 f e 1 6 5 9 5 2 c 2 c a 0 8 7 1 6 8 c 5 f 4 e 4 9 9 4 5 8 6 b d 8 3 2 2 6 7 e e a 5 8 e 0 6 6 2 a 7 4 b 6 a 7 4 3 0 b c 3 6 1 f e 8 0 b 5 3 0 7 b 2 e e 6 b f 6 3 1 a 3 5 6 1 a 8 c b a 8 6 e 1 c d 3 f 2
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" )