diff options
Diffstat (limited to 'utils/gen_adldata')
-rw-r--r-- | utils/gen_adldata/CMakeLists.txt | 80 |
1 files changed, 80 insertions, 0 deletions
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 +) + |