--- CMakeLists.txt.orig 2021-09-07 15:26:53 UTC +++ CMakeLists.txt @@ -6,8 +6,6 @@ include(GNUInstallDirs) if(MSVC) set(COMPILE_DEFINITIONS /O2 /fp:fast) set(COMPILE_OPTIONS ) -else() - set(COMPILE_OPTIONS -Ofast) endif() ##################### @@ -59,7 +57,7 @@ else() target_compile_definitions(SoundTouch PRIVATE SOUNDTOUCH_FLOAT_SAMPLES) endif() -if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7.*|armv8.*)$") +if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7.*|armv8.*|aarch64.*)$") set(NEON_CPU ON) else() set(NEON_CPU OFF) @@ -68,9 +66,14 @@ endif() option(NEON "Use ARM Neon SIMD instructions if in ARM CPU" ON) if(${NEON} AND ${NEON_CPU}) target_compile_definitions(SoundTouch PRIVATE SOUNDTOUCH_USE_NEON) - target_compile_options(SoundTouch PRIVATE -mfpu=neon) endif() +find_package(OpenMP) +option(OPENMP "Use parallel multicore calculation through OpenMP" ON) +if(OPENMP AND OPENMP_FOUND) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +endif() + install( FILES include/BPMDetect.h @@ -105,6 +108,9 @@ if(SOUNDSTRETCH) target_compile_definitions(soundstretch PRIVATE ${COMPILE_DEFINITIONS}) target_compile_options(soundstretch PRIVATE ${COMPILE_OPTIONS}) target_link_libraries(soundstretch PRIVATE SoundTouch) + if(INTEGER_SAMPLES) + target_compile_definitions(soundstretch PRIVATE SOUNDTOUCH_INTEGER_SAMPLES) + endif() install(TARGETS soundstretch DESTINATION bin