diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/adlmidi-2/CMakeLists.txt | 97 | ||||
-rw-r--r-- | utils/dumpbank/CMakeLists.txt | 10 | ||||
-rw-r--r-- | utils/dumpmiles/CMakeLists.txt | 10 | ||||
-rw-r--r-- | utils/gen_adldata/CMakeLists.txt | 80 | ||||
-rw-r--r-- | utils/midiplay/CMakeLists.txt | 62 | ||||
-rw-r--r-- | utils/vlc_codec/CMakeLists.txt | 41 | ||||
-rw-r--r-- | utils/xmi2mid/CMakeLists.txt | 10 |
7 files changed, 310 insertions, 0 deletions
diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt new file mode 100644 index 0000000..3f3327b --- /dev/null +++ b/utils/adlmidi-2/CMakeLists.txt @@ -0,0 +1,97 @@ +cmake_minimum_required (VERSION 3.2) +project(adlmidi2 CXX) + +set(CMAKE_CXX_STANDARD 11) + +find_package(OpenMP) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + +if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS) + find_library(SDL2_LIBRARY SDL2 REQUIRED) + include_directories(${SDL2_INCLUDE_DIR}) + message("Found ${SDL2_LIBRARY}") +endif() + +if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS) + set(ADLMIDI2_HAS_PUZZLE_GAME "TRUE") + set(ADLMIDI2_VIDEO_OUT_SUPPORT "TRUE") +endif() + + +set(adlmidi2_src) +list(APPEND adlmidi2_src + midiplay.cc + input.cc +) + +if(ADLMIDI2_HAS_PUZZLE_GAME) + list(APPEND adlmidi2_src puzzlegame.cc) +endif() + +add_executable(adlmidi2 ${adlmidi2_src}) + +if(ADLMIDI2_HAS_PUZZLE_GAME) + target_compile_definitions(adlmidi2 PUBLIC "-DSUPPORT_PUZZLE_GAME") +endif() + +if(ADLMIDI2_VIDEO_OUT_SUPPORT) + target_compile_definitions(adlmidi2 PUBLIC "-DSUPPORT_VIDEO_OUTPUT") +endif() + +if(MSDOS OR DJGPP) + target_compile_definitions(adlmidi2 PUBLIC "-DHARDWARE_OPL3") + message("Turn on hardware OPL3 support on ADLMIDI2 tool") +endif() + +if(WIN32) + target_link_libraries(adlmidi2 ADLMIDI_IF winmm) +elseif(DJGPP OR MSDOS) + target_link_libraries(adlmidi2 ADLMIDI_IF) +else() + set(ADLMIDI2_LIBS ADLMIDI_IF ${SDL2_LIBRARY} pthread dl m stdc++) + if(OPENBSD_LOCALBASE) + list(REMOVE_ITEM ADLMIDI2_LIBS dl) + endif() + target_link_libraries(adlmidi2 ${ADLMIDI2_LIBS}) +endif() + +if(NOT WITH_CPP_EXTRAS) + message(FATAL_ERROR "ADLMIDI2 Requires C++ Extras. Please enable WITH_CPP_EXTRAS option!") +endif() + +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR + "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR + "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" OR + "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MinGW" OR + CMAKE_COMPILER_IS_MINGW) + if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 3.2) + message("Turned on C++11 on GCC/CLang/Intel") + set_target_properties(adlmidi2 PROPERTIES + CXX_STANDARD 11 + CXX_STANDARD_REQUIRED YES) + endif() + if(OPENMP_FOUND) + target_compile_options(adlmidi2 PUBLIC "-fopenmp") + target_link_libraries(adlmidi2 "-fopenmp") + endif() +else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + message("Turned on C++11 on MSVC") + target_compile_options(adlmidi2 PUBLIC "/std:c++latest") +endif() + +if(libADLMIDI_SHARED) + add_dependencies(adlmidi2 ADLMIDI_shared) + if(NOT MSVC) + set_target_properties(adlmidi2 PROPERTIES COMPILE_FLAGS "-Wl,-rpath='$$ORIGIN/../lib'") + endif() +else() + if(NOT libADLMIDI_STATIC) + message(FATAL_ERROR "libADLMIDI is required to be built!") + endif() + add_dependencies(adlmidi2 ADLMIDI_static) +endif() + +install(TARGETS adlmidi2 + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + diff --git a/utils/dumpbank/CMakeLists.txt b/utils/dumpbank/CMakeLists.txt new file mode 100644 index 0000000..d711a88 --- /dev/null +++ b/utils/dumpbank/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required (VERSION 3.2) +project(adldumpbank CXX) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + +add_executable(adldumpbank dumpbank.cpp) + +install(TARGETS adldumpbank + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + diff --git a/utils/dumpmiles/CMakeLists.txt b/utils/dumpmiles/CMakeLists.txt new file mode 100644 index 0000000..399b417 --- /dev/null +++ b/utils/dumpmiles/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required (VERSION 3.2) +project(adldumpmiles CXX) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + +add_executable(adldumpmiles dumpmiles.cpp) + +install(TARGETS adldumpmiles + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + diff --git a/utils/gen_adldata/CMakeLists.txt b/utils/gen_adldata/CMakeLists.txt new file mode 100644 index 0000000..63f255f --- /dev/null +++ b/utils/gen_adldata/CMakeLists.txt @@ -0,0 +1,80 @@ +cmake_minimum_required (VERSION 3.2) +project(gen_adldata CXX) + +set(CMAKE_CXX_STANDARD 11) + +find_package(OpenMP) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + +set(GEN_ADLDATA_SRC) +list(APPEND GEN_ADLDATA_SRC + gen_adldata.cc + progs_cache.cpp + measurer.cpp + ini/ini_processing.cpp +) + +if(USE_DOSBOX_EMULATOR) + set(HAS_EMULATOR TRUE) + list(APPEND GEN_ADLDATA_SRC + ${libADLMIDI_SOURCE_DIR}/src/chips/dosbox_opl3.cpp + ${libADLMIDI_SOURCE_DIR}/src/chips/dosbox/dbopl.cpp + ) +else() + add_definitions(-DADLMIDI_DISABLE_DOSBOX_EMULATOR) +endif() + +if(USE_NUKED_EMULATOR) + set(HAS_EMULATOR TRUE) + list(APPEND GEN_ADLDATA_SRC + ${libADLMIDI_SOURCE_DIR}/src/chips/nuked_opl3.cpp # v 1.8 + ${libADLMIDI_SOURCE_DIR}/src/chips/nuked/nukedopl3.c + ${libADLMIDI_SOURCE_DIR}/src/chips/nuked_opl3_v174.cpp # v 1.7.4 + ${libADLMIDI_SOURCE_DIR}/src/chips/nuked/nukedopl3_174.c + ) +else() + add_definitions(-DADLMIDI_DISABLE_NUKED_EMULATOR) +endif() + +add_executable(gen_adldata + ${GEN_ADLDATA_SRC} +) +if(NOT MSVC) + target_link_libraries(gen_adldata pthread m stdc++) +endif() +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR + "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR + "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" OR + "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MinGW" OR + CMAKE_COMPILER_IS_MINGW) + if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 3.2) + message("Turned on C++11 on GCC/CLang/Intel/MinGW") + set_target_properties(gen_adldata PROPERTIES + CXX_STANDARD 11 + CXX_STANDARD_REQUIRED YES) + if(OPENMP_FOUND) + target_compile_options(gen_adldata PUBLIC "-fopenmp") + target_link_libraries(gen_adldata "-fopenmp") + endif() + endif() +else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + message("Turned on C++11 on MSVC") + target_compile_options(gen_adldata PUBLIC "/std:c++latest") +endif() + +if(WITH_GENADLDATA_COMMENTS) + target_compile_options(gen_adldata PUBLIC "-DADLDATA_WITH_COMMENTS") +endif() + +set(ADLDATA_DATABASE + "${libADLMIDI_SOURCE_DIR}/src/adldata.cpp" +) +add_custom_target(gen-adldata-run #OUTPUT ${ADLDATA_DATABASE} + COMMAND gen_adldata "${ADLDATA_DATABASE}" + WORKING_DIRECTORY ${libADLMIDI_SOURCE_DIR} + DEPENDS gen_adldata "${libADLMIDI_SOURCE_DIR}/banks.ini" + COMMENT "Running Embedded FM banks database generation" + VERBATIM +) + diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt new file mode 100644 index 0000000..ac5d4c2 --- /dev/null +++ b/utils/midiplay/CMakeLists.txt @@ -0,0 +1,62 @@ +cmake_minimum_required (VERSION 3.2) +project(adlmidiplay CXX) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + +if(NOT MSDOS AND NOT DJGPP AND NOT MIDIPLAY_WAVE_ONLY) + find_library(SDL2_LIBRARY SDL2 REQUIRED) + include_directories(${SDL2_INCLUDE_DIR}) + message("Found ${SDL2_LIBRARY}") +else() + unset(SDL2_LIBRARY) +endif() + +add_executable(adlmidiplay + adlmidiplay.cpp + wave_writer.c +) + +if(MIDIPLAY_WAVE_ONLY) + target_compile_definitions(adlmidiplay PUBLIC "-DOUTPUT_WAVE_ONLY") + message("Demo tool will only output WAVE file, no playing support.") +endif() + +if(MSDOS OR DJGPP) + target_compile_definitions(adlmidiplay PUBLIC "-DHARDWARE_OPL3") + message("Turn on hardware OPL3 support on demo tool") +endif() + +if(WIN32) + if(MSVC) + target_link_libraries(adlmidiplay ADLMIDI_IF ${SDL2_LIBRARY}) + else() + target_link_libraries(adlmidiplay ADLMIDI_IF ${SDL2_LIBRARY} pthread) + endif() +else() + if(MSDOS OR DJGPP) + target_link_libraries(adlmidiplay ADLMIDI_IF) + else() + set(ADLMIDIPLAY_LIBS ADLMIDI_IF ${SDL2_LIBRARY} pthread dl m stdc++) + if(OPENBSD_LOCALBASE) + list(REMOVE_ITEM ADLMIDIPLAY_LIBS dl) + endif() + target_link_libraries(adlmidiplay ${ADLMIDIPLAY_LIBS}) + endif() +endif() + +if(MSDOS OR DJGPP) + set_target_properties(adlmidiplay PROPERTIES OUTPUT_NAME adlmidi) +endif() + +if(libADLMIDI_SHARED) + add_dependencies(adlmidiplay ADLMIDI_shared) +else() + if(NOT libADLMIDI_STATIC) + message(FATAL_ERROR "libADLMIDI is required to be built!") + endif() + add_dependencies(adlmidiplay ADLMIDI_static) +endif() + +install(TARGETS adlmidiplay + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + diff --git a/utils/vlc_codec/CMakeLists.txt b/utils/vlc_codec/CMakeLists.txt new file mode 100644 index 0000000..66dac0b --- /dev/null +++ b/utils/vlc_codec/CMakeLists.txt @@ -0,0 +1,41 @@ +cmake_minimum_required (VERSION 3.2) +project(adlmidi_vlc_plugin C) + +include(../../cmake/FindLIBVLC.cmake) +message("Found ${LIBVLCCORE_LIBRARY} of version ${LIBVLC_VERSION} with includes ${LIBVLC_INCLUDE_DIR}") + +set(adlmidi_vlc_src) +list(APPEND adlmidi_vlc_src libadlmidi.c) + +add_library(adlmidi_vlc_plugin MODULE ${adlmidi_vlc_src}) +set_target_properties(adlmidi_vlc_plugin PROPERTIES OUTPUT_NAME adlmidi_plugin) +target_compile_options(adlmidi_vlc_plugin PUBLIC + "-DVLC_MODULE_COPYRIGHT=\"Copyright \(c\) Vitaly Novichkov\"" + "-DVLC_MODULE_LICENSE=\"GPLv3\"" + "-DMODULE_STRING=\"adlmidi\"" + ${VLCPLUGIN_DEFINITIONS}) + +target_include_directories(adlmidi_vlc_plugin PRIVATE + ${LIBVLC_INCLUDE_DIR}/vlc/plugins + ${LIBVLC_INCLUDE_DIR}/vlc) + +set(ADLMIDIVLC_LIBS ADLMIDI_IF_STATIC ${LIBVLCCORE_LIBRARY} m) + +if(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_COMPILER_IS_GNUCXX) + set_property(TARGET adlmidi_vlc_plugin APPEND_STRING PROPERTY LINK_FLAGS " -static-libgcc -static-libstdc++") + set_property(TARGET adlmidi_vlc_plugin APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-Bstatic,--whole-archive -lpthread -Wl,-Bdynamic,--no-whole-archive") +elseif(NOT WIN32) + list(APPEND ADLMIDIVLC_LIBS stdc++) +endif() + +target_link_libraries(adlmidi_vlc_plugin ${ADLMIDIVLC_LIBS}) +# target_link_libraries(adlmidi_vlc_plugin INTERFACE "-export-symbol-regex ^vlc_entry") + +if(NOT VLC_PLUGIN_NOINSTALL) + install(TARGETS adlmidi_vlc_plugin DESTINATION "${VLCPLUGIN_CODEC_INSTALL_PATH}") +else() + install(TARGETS adlmidi_vlc_plugin DESTINATION "${CMAKE_INSTALL_LIBDIR}/vlc-codec/") +endif() + +add_dependencies(adlmidi_vlc_plugin ADLMIDI_static) + diff --git a/utils/xmi2mid/CMakeLists.txt b/utils/xmi2mid/CMakeLists.txt new file mode 100644 index 0000000..9a6c478 --- /dev/null +++ b/utils/xmi2mid/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required (VERSION 3.2) +project(xmi2mid CXX) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + +add_executable(xmi2mid xmi2mid.cpp) + +install(TARGETS xmi2mid + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + |