aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2025-03-25 21:22:37 +0300
committerWohlstand <admin@wohlnet.ru>2025-03-25 21:22:37 +0300
commit6918066f6a73d6cff1e759b7975396220e89d4cb (patch)
treea07ce3673530279230f2c58a6ac9e9343abe0e89 /CMakeLists.txt
parent55d2eab229b563aa0e0f5f9319570876c525ccb8 (diff)
downloadlibADLMIDI-6918066f6a73d6cff1e759b7975396220e89d4cb.tar.gz
libADLMIDI-6918066f6a73d6cff1e759b7975396220e89d4cb.tar.bz2
libADLMIDI-6918066f6a73d6cff1e759b7975396220e89d4cb.zip
Added MAME OPL2 emulator
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index faaab65..7ce1e91 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -212,6 +212,7 @@ option(USE_NUKED_EMULATOR "Use Nuked OPL3 emulator (most accurate, powerful)"
option(USE_OPAL_EMULATOR "Use Opal emulator (inaccurate)" ${DEFAULT_HEAVY_EMULATORS})
option(USE_JAVA_EMULATOR "Use JavaOPL emulator" ${DEFAULT_HEAVY_EMULATORS})
option(USE_ESFMU_EMULATOR "Use ESFMu emulator (Based on Nuked OPL3, powerful)" ${DEFAULT_HEAVY_EMULATORS})
+option(USE_MAME_EMULATOR "Use MAME OPL2 emulator" ${DEFAULT_HEAVY_EMULATORS})
if(COMPILER_SUPPORTS_CXX14)
option(USE_YMFM_EMULATOR "Use YMFM emulator (requires C++14 support)" ON)
endif()
@@ -332,6 +333,18 @@ function(handle_options targetLib)
target_compile_definitions(${targetLib} PUBLIC ADLMIDI_DISABLE_ESFMU_EMULATOR)
endif()
+ if(USE_MAME_EMULATOR)
+ set(HAS_EMULATOR TRUE)
+ target_sources(${targetLib} PRIVATE
+ ${libADLMIDI_SOURCE_DIR}/src/chips/mame_opl2.cpp
+ ${libADLMIDI_SOURCE_DIR}/src/chips/mame_opl2.h
+ ${libADLMIDI_SOURCE_DIR}/src/chips/mame/opl.h
+ ${libADLMIDI_SOURCE_DIR}/src/chips/mame/mame_fmopl.cpp
+ )
+ else()
+ target_compile_definitions(${targetLib} PUBLIC ADLMIDI_DISABLE_MAME_OPL2_EMULATOR)
+ endif()
+
if(USE_YMFM_EMULATOR)
set(YMFM_SOURCES
${libADLMIDI_SOURCE_DIR}/src/chips/ymfm_opl2.cpp
@@ -632,6 +645,7 @@ message("USE_NUKED_EMULATOR = ${USE_NUKED_EMULATOR}")
message("USE_OPAL_EMULATOR = ${USE_OPAL_EMULATOR}")
message("USE_JAVA_EMULATOR = ${USE_JAVA_EMULATOR}")
message("USE_ESFMU_EMULATOR = ${USE_ESFMU_EMULATOR}")
+message("USE_MAME_EMULATOR = ${USE_MAME_EMULATOR}")
if(COMPILER_SUPPORTS_CXX14)
message("USE_YMFM_EMULATOR = ${USE_YMFM_EMULATOR}")
endif()