You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
46 lines
1.2 KiB
cmake_minimum_required(VERSION 3.25)
|
|
project(synthapp)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(BUILD_SHARED_LIBS OFF)
|
|
if(MSVC)
|
|
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")
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -DNDEBUG")
|
|
endif()
|
|
|
|
if(WIN32)
|
|
option(PA_USE_ASIO "" ON)
|
|
option(PA_USE_WDMKS "" OFF)
|
|
option(PA_USE_WDMKS_DEVICE_INFO "" OFF)
|
|
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)
|
|
endif()
|
|
|
|
add_executable(main
|
|
src/synthapp.cpp
|
|
src/synthframe.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)
|
|
|
|
target_link_libraries(main PRIVATE PortAudio)
|
|
target_link_libraries(main PRIVATE portmidi)
|
|
target_include_directories(main PRIVATE lib/portmidi/porttime)
|
|
|
|
target_link_libraries(main PRIVATE wxbase)
|
|
target_link_libraries(main PRIVATE wxcore)
|
|
|
|
add_custom_target(synthapp)
|
|
add_dependencies(synthapp main)
|
|
|