Move synth engine to separate library

main
Thor 1 year ago
parent 5389e811eb
commit c9cdbf6295
  1. 31
      CMakeLists.txt
  2. 32
      lib/synth/CMakeLists.txt

@ -1,14 +1,14 @@
cmake_minimum_required(VERSION 3.26)
project(synth)
project(synthapp)
set(CMAKE_CXX_STANDARD 20)
set(BUILD_SHARED_LIBS OFF)
if(MSVC)
set(CMAKE_CXX_FLAGS_DEBUG "/W4 /DEBUG:FASTLINK /fp:fast")
set(CMAKE_CXX_FLAGS_RELEASE "/W4 /O2 /fp:fast /DNDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "/DEBUG:FASTLINK /fp:fast")
set(CMAKE_CXX_FLAGS_RELEASE "/O2 /fp:fast /DNDEBUG")
else()
set(CMAKE_CXX_FLAGS_DEBUG "-g -ffast-math -Wall -Wextra -Wdouble-promotion ")
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -DNDEBUG -Wall -Wextra -Wdouble-promotion -Rpass-analysis=loop-vectorize")
set(CMAKE_CXX_FLAGS_DEBUG "-g -ffast-math")
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -DNDEBUG")
endif()
if(WIN32)
@ -19,6 +19,7 @@ endif()
add_subdirectory(lib/portaudio)
add_subdirectory(lib/portmidi)
add_subdirectory(lib/wxWidgets)
add_subdirectory(lib/synth)
if(MSVC)
add_compile_definitions(_USE_MATH_DEFINES)
@ -27,20 +28,9 @@ endif()
add_executable(main
src/synthapp.cpp
src/synthframe.cpp
src/ccslider.cpp
src/synth/synth.cpp
src/synth/voicemanager.cpp
src/synth/channel.cpp
src/synth/preset.cpp
src/synth/voice.cpp
src/synth/dsp/notelut.cpp
src/synth/dsp/centlut.cpp
src/synth/dsp/oscillator.cpp
src/synth/dsp/filter.cpp
src/synth/dsp/filterlut.cpp
src/synth/dsp/adsr.cpp
src/synth/dsp/reverb.cpp)
src/ccslider.cpp)
target_include_directories(main PRIVATE include)
target_link_libraries(main PRIVATE synth)
#target_compile_options(main PRIVATE -fsanitize=thread)
#target_link_options(main PRIVATE -fsanitize=thread)
@ -52,5 +42,6 @@ target_include_directories(main PRIVATE lib/portmidi/porttime)
target_link_libraries(main PRIVATE wxbase)
target_link_libraries(main PRIVATE wxcore)
add_custom_target(synth)
add_dependencies(synth main)
add_custom_target(synthapp)
add_dependencies(synthapp main)

@ -0,0 +1,32 @@
cmake_minimum_required(VERSION 3.26)
project(synth)
set(CMAKE_CXX_STANDARD 20)
if(MSVC)
set(CMAKE_CXX_FLAGS "/W4")
set(CMAKE_CXX_FLAGS_DEBUG "/DEBUG:FASTLINK /fp:fast")
set(CMAKE_CXX_FLAGS_RELEASE "/O2 /fp:fast /DNDEBUG")
else()
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wdouble-promotion -Rpass-analysis=loop-vectorize")
set(CMAKE_CXX_FLAGS_DEBUG "-g -ffast-math")
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -DNDEBUG")
endif()
if(MSVC)
add_compile_definitions(_USE_MATH_DEFINES)
endif()
add_library(synth
src/synth.cpp
src/voicemanager.cpp
src/channel.cpp
src/preset.cpp
src/voice.cpp
src/dsp/notelut.cpp
src/dsp/centlut.cpp
src/dsp/oscillator.cpp
src/dsp/filter.cpp
src/dsp/filterlut.cpp
src/dsp/adsr.cpp
src/dsp/reverb.cpp)
target_include_directories(synth PUBLIC include)
Loading…
Cancel
Save