cmake_minimum_required(VERSION 3.10) project(soothe2_dsp) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Threads REQUIRED) add_library(soothe2_dsp SHARED dsp/fft_plan.cpp dsp/fft_stage.cpp dsp/cody_waite.cpp dsp/twiddle_builder.cpp dsp/fft.cpp dsp/spectral.cpp dsp/filter.cpp dsp/detect.cpp dsp/ms.cpp dsp/harness.cpp ) target_include_directories(soothe2_dsp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(soothe2_dsp Threads::Threads) set_target_properties(soothe2_dsp PROPERTIES POSITION_INDEPENDENT_CODE ON ) if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") target_compile_options(soothe2_dsp PRIVATE -O3 -march=native) endif()