From 0be25a41ca793c3c03814f529890492adfac8ad5 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Thu, 9 Nov 2017 22:50:32 +0300 Subject: Resolve weird crash caused by Tetris inside ADLMIDI2 and other changes - Move most of inline classes methods into own CC file - Move Input into own header with own CC file to share it with the puzzle game - Created virtual destructors and resolved weak vtable trouble between of Tetris's classes - Remove static declarisons of Tetris class. Instead, let it be member of UserInterface - Fixed forgot note-offs while sorting events row with zero length notes - Fixed crash caused by unsafe access by reference to element of array that was modified/reallocated one or multiple times - Stabilize dealing with zero-length notes --- CMakeLists.txt | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a7da2f..d1ae802 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,9 +202,29 @@ if(WITH_ADLMIDI2) message("Found ${SDL2_LIBRARY}") endif() - add_executable(adlmidi2 + if(NOT WIN32) + set(ADLMIDI2_HAS_PUZZLE_GAME "TRUE") + set(ADLMIDI2_VIDEO_OUT_SUPPORT "TRUE") + endif() + + set(adlmidi2_src) + list(APPEND adlmidi2_src ${libADLMIDI_SOURCE_DIR}/utils/adlmidi-2/midiplay.cc - ) + ${libADLMIDI_SOURCE_DIR}/utils/adlmidi-2/input.cc) + + if(ADLMIDI2_HAS_PUZZLE_GAME) + list(APPEND adlmidi2_src ${libADLMIDI_SOURCE_DIR}/utils/adlmidi-2/puzzlegame.cc) + endif() + + add_executable(adlmidi2 ${adlmidi2_src}) + + if(ADLMIDI2_HAS_PUZZLE_GAME) + target_compile_options(adlmidi2 PUBLIC "-DSUPPORT_PUZZLE_GAME") + endif() + + if(ADLMIDI2_VIDEO_OUT_SUPPORT) + target_compile_options(adlmidi2 PUBLIC "-DSUPPORT_VIDEO_OUTPUT") + endif() if(WIN32) target_link_libraries(adlmidi2 ADLMIDI winmm) -- cgit v1.2.3