aboutsummaryrefslogtreecommitdiff
path: root/utils/midiplay/CMakeLists.txt
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2019-09-23 17:55:22 +0300
committerWohlstand <admin@wohlnet.ru>2019-09-23 17:55:22 +0300
commit7ff1f8b9522d132c9248a68cc5df15e841523ea6 (patch)
tree8274dc1ea2a8f289e4ac607d0e1dfc056ceef2b8 /utils/midiplay/CMakeLists.txt
parent22248f90dd83413e91c8d4b66e652ef1a7954b60 (diff)
downloadlibADLMIDI-7ff1f8b9522d132c9248a68cc5df15e841523ea6.tar.gz
libADLMIDI-7ff1f8b9522d132c9248a68cc5df15e841523ea6.tar.bz2
libADLMIDI-7ff1f8b9522d132c9248a68cc5df15e841523ea6.zip
MidiPlay: Move Audio Output into separate module
Diffstat (limited to 'utils/midiplay/CMakeLists.txt')
-rw-r--r--utils/midiplay/CMakeLists.txt32
1 files changed, 28 insertions, 4 deletions
diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt
index c60450f..98f888a 100644
--- a/utils/midiplay/CMakeLists.txt
+++ b/utils/midiplay/CMakeLists.txt
@@ -1,15 +1,39 @@
-add_executable(adlmidiplay
+
+if(NOT ADLMIDI_DOS AND NOT MIDIPLAY_WAVE_ONLY)
+ if(NOT WIN32)
+ libADLMIDI_find_SDL2()
+ set(USE_SDL2_AUDIO 1)
+ else()
+ endif()
+endif()
+
+set(ADLMIDI_PLAY_SRC
adlmidiplay.cpp
wave_writer.c
)
-set_nopie(adlmidiplay)
+if(USE_SDL2_AUDIO)
+ list(APPEND ADLMIDI_PLAY_SRC
+ audio_sdl.c
+ )
+endif()
-if(NOT ADLMIDI_DOS AND NOT MIDIPLAY_WAVE_ONLY)
- libADLMIDI_find_SDL2()
+if(WIN32 AND NOT USE_SDL2_AUDIO)
+ list(APPEND ADLMIDI_PLAY_SRC
+ audio_winmm.c
+ )
+endif()
+
+add_executable(adlmidiplay ${ADLMIDI_PLAY_SRC})
+
+if(USE_SDL2_AUDIO)
target_link_libraries(adlmidiplay PRIVATE ADLMIDI_SDL2)
+elseif(WIN32)
+ target_link_libraries(adlmidiplay PRIVATE winmm)
endif()
+set_nopie(adlmidiplay)
+
if(MIDIPLAY_WAVE_ONLY)
target_compile_definitions(adlmidiplay PUBLIC OUTPUT_WAVE_ONLY)
message("Demo tool will only output WAVE file, no playing support.")