mirror of
https://github.com/MadeOfJelly/MushMachine.git
synced 2024-12-04 19:23:28 +01:00
211 lines
6.0 KiB
CMake
211 lines
6.0 KiB
CMake
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
|
|
|
|
project(soloud CXX)
|
|
|
|
set(CPP_FILES
|
|
#core
|
|
soloud/src/core/soloud.cpp
|
|
soloud/src/core/soloud_audiosource.cpp
|
|
soloud/src/core/soloud_bus.cpp
|
|
soloud/src/core/soloud_core_3d.cpp
|
|
soloud/src/core/soloud_core_basicops.cpp
|
|
soloud/src/core/soloud_core_faderops.cpp
|
|
soloud/src/core/soloud_core_filterops.cpp
|
|
soloud/src/core/soloud_core_getters.cpp
|
|
soloud/src/core/soloud_core_setters.cpp
|
|
soloud/src/core/soloud_core_voicegroup.cpp
|
|
soloud/src/core/soloud_core_voiceops.cpp
|
|
soloud/src/core/soloud_fader.cpp
|
|
soloud/src/core/soloud_fft.cpp
|
|
soloud/src/core/soloud_fft_lut.cpp
|
|
soloud/src/core/soloud_file.cpp
|
|
soloud/src/core/soloud_filter.cpp
|
|
soloud/src/core/soloud_misc.cpp
|
|
soloud/src/core/soloud_queue.cpp
|
|
soloud/src/core/soloud_thread.cpp
|
|
|
|
|
|
#backends
|
|
soloud/src/backend/alsa/soloud_alsa.cpp
|
|
soloud/src/backend/coreaudio/soloud_coreaudio.cpp
|
|
soloud/src/backend/null/soloud_null.cpp
|
|
soloud/src/backend/nosound/soloud_nosound.cpp
|
|
#soloud/src/backend/openal/soloud_openal.cpp
|
|
#soloud/src/backend/openal/soloud_openal_dll.c
|
|
soloud/src/backend/opensles/soloud_opensles.cpp
|
|
#soloud/src/backend/oss/soloud_oss.cpp
|
|
#soloud/src/backend/portaudio/soloud_portaudio.cpp
|
|
#soloud/src/backend/portaudio/soloud_portaudio_dll.c
|
|
#soloud/src/backend/sdl/soloud_sdl1.cpp
|
|
#soloud/src/backend/sdl/soloud_sdl1_dll.c
|
|
#soloud/src/backend/sdl/soloud_sdl2.cpp
|
|
#soloud/src/backend/sdl/soloud_sdl2_dll.c
|
|
#soloud/src/backend/sdl_static/soloud_sdl_static.cpp
|
|
soloud/src/backend/sdl2_static/soloud_sdl2_static.cpp
|
|
#soloud/src/backend/vita_homebrew/soloud_vita_homebrew.cpp
|
|
soloud/src/backend/wasapi/soloud_wasapi.cpp
|
|
soloud/src/backend/winmm/soloud_winmm.cpp
|
|
soloud/src/backend/xaudio2/soloud_xaudio2.cpp
|
|
|
|
#filter
|
|
soloud/src/filter/soloud_bassboostfilter.cpp
|
|
soloud/src/filter/soloud_biquadresonantfilter.cpp
|
|
soloud/src/filter/soloud_dcremovalfilter.cpp
|
|
soloud/src/filter/soloud_echofilter.cpp
|
|
soloud/src/filter/soloud_fftfilter.cpp
|
|
soloud/src/filter/soloud_freeverbfilter.cpp
|
|
soloud/src/filter/soloud_flangerfilter.cpp
|
|
soloud/src/filter/soloud_lofifilter.cpp
|
|
soloud/src/filter/soloud_robotizefilter.cpp
|
|
soloud/src/filter/soloud_waveshaperfilter.cpp
|
|
|
|
|
|
#sources
|
|
#monotone
|
|
soloud/src/audiosource/monotone/soloud_monotone.cpp
|
|
|
|
#noise
|
|
soloud/src/audiosource/noise/soloud_noise.cpp
|
|
|
|
#openmpt
|
|
soloud/src/audiosource/openmpt/soloud_openmpt.cpp
|
|
soloud/src/audiosource/openmpt/soloud_openmpt_dll.c
|
|
|
|
#sfxr
|
|
soloud/src/audiosource/sfxr/soloud_sfxr.cpp
|
|
|
|
#speech
|
|
soloud/src/audiosource/speech/darray.cpp
|
|
soloud/src/audiosource/speech/darray.h
|
|
#soloud/src/audiosource/speech/Elements.def
|
|
soloud/src/audiosource/speech/klatt.cpp
|
|
soloud/src/audiosource/speech/klatt.h
|
|
soloud/src/audiosource/speech/resonator.cpp
|
|
soloud/src/audiosource/speech/resonator.h
|
|
soloud/src/audiosource/speech/soloud_speech.cpp
|
|
soloud/src/audiosource/speech/tts.cpp
|
|
soloud/src/audiosource/speech/tts.h
|
|
|
|
#tedsid
|
|
soloud/src/audiosource/tedsid/sid.cpp
|
|
soloud/src/audiosource/tedsid/sid.h
|
|
soloud/src/audiosource/tedsid/soloud_tedsid.cpp
|
|
soloud/src/audiosource/tedsid/ted.cpp
|
|
soloud/src/audiosource/tedsid/ted.h
|
|
|
|
#vic
|
|
soloud/src/audiosource/vic/soloud_vic.cpp
|
|
|
|
#vizsn
|
|
soloud/src/audiosource/vizsn/soloud_vizsn.cpp
|
|
|
|
#wav
|
|
soloud/src/audiosource/wav/soloud_wav.cpp
|
|
soloud/src/audiosource/wav/soloud_wavstream.cpp
|
|
# TODO: move to extra lib
|
|
soloud/src/audiosource/wav/dr_flac.h
|
|
soloud/src/audiosource/wav/dr_impl.cpp
|
|
soloud/src/audiosource/wav/dr_mp3.h
|
|
soloud/src/audiosource/wav/dr_wav.h
|
|
soloud/src/audiosource/wav/stb_vorbis.c
|
|
soloud/src/audiosource/wav/stb_vorbis.h
|
|
)
|
|
|
|
set(HPP_FILES
|
|
#c_api
|
|
#soloud/include/soloud_c.h
|
|
|
|
#core
|
|
soloud/include/soloud.h
|
|
soloud/include/soloud_internal.h
|
|
soloud/include/soloud_audiosource.h
|
|
soloud/include/soloud_bus.h
|
|
soloud/include/soloud_error.h
|
|
soloud/include/soloud_fader.h
|
|
soloud/include/soloud_fft.h
|
|
soloud/include/soloud_file.h
|
|
soloud/include/soloud_file_hack_off.h
|
|
soloud/include/soloud_file_hack_on.h
|
|
soloud/include/soloud_filter.h
|
|
soloud/include/soloud_queue.h
|
|
soloud/include/soloud_thread.h
|
|
|
|
#filter
|
|
soloud/include/soloud_bassboostfilter.h
|
|
soloud/include/soloud_biquadresonantfilter.h
|
|
soloud/include/soloud_dcremovalfilter.h
|
|
soloud/include/soloud_echofilter.h
|
|
soloud/include/soloud_fftfilter.h
|
|
soloud/include/soloud_flangerfilter.h
|
|
soloud/include/soloud_lofifilter.h
|
|
soloud/include/soloud_robotizefilter.h
|
|
soloud/include/soloud_waveshaperfilter.h
|
|
|
|
|
|
#sources
|
|
soloud/include/soloud_wav.h
|
|
soloud/include/soloud_wavstream.h
|
|
soloud/include/soloud_monotone.h
|
|
soloud/include/soloud_openmpt.h
|
|
soloud/include/soloud_sfxr.h
|
|
soloud/include/soloud_speech.h
|
|
soloud/include/soloud_tedsid.h
|
|
soloud/include/soloud_vic.h
|
|
soloud/include/soloud_vizsn.h
|
|
)
|
|
|
|
add_library(soloud ${CPP_FILES} ${HPP_FILES})
|
|
|
|
target_compile_definitions(soloud PRIVATE WITH_NULL)
|
|
target_compile_definitions(soloud PRIVATE WITH_NOSOUND)
|
|
#target_compile_definitions(soloud PRIVATE WITH_SDL2)
|
|
target_compile_definitions(soloud PRIVATE WITH_SDL2_STATIC)
|
|
|
|
target_include_directories(soloud SYSTEM PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/soloud/include")
|
|
|
|
if(EMSCRIPTEN)
|
|
target_compile_options(soloud PUBLIC -sUSE_SDL=2)
|
|
target_link_libraries(soloud PUBLIC -sUSE_SDL=2)
|
|
elseif(VCPKG_TARGET_TRIPLET)
|
|
target_link_libraries(soloud
|
|
PUBLIC
|
|
SDL2::SDL2
|
|
#PRIVATE
|
|
#SDL2::SDL2main
|
|
#SDL2::SDL2-static
|
|
)
|
|
else()
|
|
target_include_directories(soloud PUBLIC "${SDL2_INCLUDE_DIR}")
|
|
target_link_libraries(soloud PUBLIC ${SDL2_LIBRARY})
|
|
endif()
|
|
|
|
#if not android or emscripten
|
|
#if android
|
|
#target_link_libraries(soloud SDL)
|
|
#endif
|
|
|
|
|
|
|
|
# TODO: remove
|
|
if(UNIX)
|
|
target_link_libraries(soloud PUBLIC
|
|
-ldl
|
|
)
|
|
endif()
|
|
|
|
add_executable(soloud_demo_simplest EXCLUDE_FROM_ALL soloud/demos/simplest/main.cpp)
|
|
target_link_libraries(soloud_demo_simplest
|
|
soloud
|
|
)
|
|
|
|
add_executable(soloud_demo_enumerate EXCLUDE_FROM_ALL ./soloud/demos/enumerate/main.cpp)
|
|
target_link_libraries(soloud_demo_enumerate
|
|
soloud
|
|
)
|
|
|
|
add_executable(soloud_demo_welcome EXCLUDE_FROM_ALL ./soloud/demos/welcome/main.cpp)
|
|
target_link_libraries(soloud_demo_welcome
|
|
soloud
|
|
)
|
|
|