diff options
Diffstat (limited to 'utils/midiplay/CMakeLists.txt')
-rw-r--r-- | utils/midiplay/CMakeLists.txt | 32 |
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.") |