diff options
Diffstat (limited to 'utils/midiplay/CMakeLists.txt')
-rw-r--r-- | utils/midiplay/CMakeLists.txt | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt index 59f77fe..98f888a 100644 --- a/utils/midiplay/CMakeLists.txt +++ b/utils/midiplay/CMakeLists.txt @@ -1,13 +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 ) -if(NOT ADLMIDI_DOS AND NOT MIDIPLAY_WAVE_ONLY) - libADLMIDI_find_SDL2() +if(USE_SDL2_AUDIO) + list(APPEND ADLMIDI_PLAY_SRC + audio_sdl.c + ) +endif() + +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.") @@ -41,3 +67,4 @@ endif() install(TARGETS adlmidiplay RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + |