74 lines
2.0 KiB
CMake
74 lines
2.0 KiB
CMake
cmake_minimum_required(VERSION 3.22.1)
|
|
project(rubberband)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
# -DNOMINMAX: for MSVCC to avoid defining max() as macro, breaking std::max()
|
|
# -DHAVE_UNISTD_H: for libsndfile access()
|
|
# -DUSE_PTHREADS: for Thread.h
|
|
set(CMAKE_CXX_FLAGS "-DNOMINMAX -DHAVE_UNISTD_H -DUSE_PTHREADS -DUSE_BQRESAMPLER -DHAVE_KISSFFT")
|
|
|
|
# TODO: see Android.mk in librubberband and copy options from LOCAL_CFLAGS
|
|
|
|
# disable libsndfile tests
|
|
set(BUILD_TESTING FALSE)
|
|
|
|
include_directories(
|
|
./rubberband
|
|
./src/common
|
|
./src/ext/float_cast
|
|
./src/ext/kissfft
|
|
#./src/ext/pommier
|
|
#./src/ext/speex
|
|
./src/faster
|
|
./src/finer
|
|
)
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
# only for WIN32 target system
|
|
include_directories(
|
|
./src/ext/getopt
|
|
)
|
|
endif()
|
|
|
|
set(RUBBERBAND_SRC
|
|
#./src/ext/getopt/getopt.c
|
|
#./src/ext/getopt/getopt_long.c
|
|
./src/ext/kissfft/kiss_fft.c
|
|
./src/ext/kissfft/kiss_fftr.c
|
|
./src/ext/speex/resample.c
|
|
./main/main.cpp
|
|
./src/common/Allocators.cpp
|
|
./src/common/BQResampler.cpp
|
|
./src/common/FFT.cpp
|
|
./src/common/Log.cpp
|
|
./src/common/mathmisc.cpp
|
|
./src/common/Profiler.cpp
|
|
./src/common/Resampler.cpp
|
|
./src/common/StretchCalculator.cpp
|
|
./src/common/sysutils.cpp
|
|
./src/common/Thread.cpp
|
|
./src/common/VectorOpsComplex.cpp
|
|
./src/faster/AudioCurveCalculator.cpp
|
|
./src/faster/CompoundAudioCurve.cpp
|
|
./src/faster/HighFrequencyAudioCurve.cpp
|
|
./src/faster/PercussiveAudioCurve.cpp
|
|
./src/faster/R2Stretcher.cpp
|
|
./src/faster/SilentAudioCurve.cpp
|
|
./src/faster/StretcherChannelData.cpp
|
|
./src/faster/StretcherProcess.cpp
|
|
./src/finer/R3LiveShifter.cpp
|
|
./src/finer/R3Stretcher.cpp
|
|
./src/rubberband-c.cpp
|
|
./src/RubberBandLiveShifter.cpp
|
|
./src/RubberBandStretcher.cpp
|
|
)
|
|
|
|
add_executable(rubberband-main ${RUBBERBAND_SRC})
|
|
|
|
add_library(rubberband SHARED ${RUBBERBAND_SRC})
|
|
|
|
add_subdirectory(src/ext/libsndfile)
|
|
target_link_libraries(rubberband-main sndfile)
|
|
target_link_libraries(rubberband sndfile)
|