From a2992e21fe70ec3f0ebf530fc501a6a3ddecdc27 Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Mon, 9 Jul 2018 00:34:14 +0200 Subject: provide XMI to MID conversion as tool --- CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 5283a18..ab3e7e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,6 +87,7 @@ option(MIDIPLAY_WAVE_ONLY "Build Demo MIDI player without support of real time option(WITH_ADLMIDI2 "Build also classic ADLMIDI player [EXPERIMENTAL]" OFF) option(WITH_VLC_PLUGIN "Build also a plugin for VLC Media Player" OFF) option(WITH_OLD_UTILS "Build also old utilities" OFF) +option(WITH_XMI2MID "Build a XMI to MIDI converter" OFF) option(EXAMPLE_SDL2_AUDIO "Build also a simple SDL2 demo MIDI player" OFF) @@ -437,6 +438,11 @@ if(WITH_ADLMIDI2) list(APPEND libADLMIDI_INSTALLS adlmidi2) endif() +if(WITH_XMI2MID) + add_executable(xmi2mid + ${libADLMIDI_SOURCE_DIR}/utils/xmi2mid/xmi2mid.cpp) +endif() + if(EXAMPLE_SDL2_AUDIO AND NOT MSDOS AND NOT DJGPP) find_library(SDL2_LIBRARY SDL2 REQUIRED) include_directories(${SDL2_INCLUDE_DIR}) @@ -557,4 +563,5 @@ message("MIDIPLAY_WAVE_ONLY = ${MIDIPLAY_WAVE_ONLY}") message("WITH_ADLMIDI2 = ${WITH_ADLMIDI2}") message("WITH_VLC_PLUGIN = ${WITH_VLC_PLUGIN}") message("WITH_OLD_UTILS = ${WITH_OLD_UTILS}") +message("WITH_XMI2MID = ${WITH_XMI2MID}") message("EXAMPLE_SDL2_AUDIO = ${EXAMPLE_SDL2_AUDIO}") -- cgit v1.2.3 From 7a432775f1bcf680c1c77e101ddbc405fb6a70da Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Mon, 30 Jul 2018 09:25:41 +0200 Subject: hide private symbols --- CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index ab3e7e5..8d1fad6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,6 +65,15 @@ function(set_legacy_standard destTarget) endif() endif() endfunction() + +function(set_visibility_hidden destTarget) + if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|Clang)$") + target_compile_options(${destTarget} PRIVATE + -fvisibility=hidden -fvisibility-inlines-hidden) + target_compile_definitions(${destTarget} PRIVATE + "LIBADLMIDI_VISIBILITY") + endif() +endfunction() #=========================================================================================== option(libADLMIDI_STATIC "Build static library of libADLMIDI" ON) @@ -273,6 +282,7 @@ if(libADLMIDI_STATIC) set_target_properties(ADLMIDI_static PROPERTIES OUTPUT_NAME ADLMIDI) target_include_directories(ADLMIDI_static PUBLIC ${libADLMIDI_SOURCE_DIR}/include) set_legacy_standard(ADLMIDI_static) + set_visibility_hidden(ADLMIDI_static) list(APPEND libADLMIDI_INSTALLS ADLMIDI_static) if(WITH_EMBEDDED_BANKS AND WITH_GENADLDATA) add_dependencies(ADLMIDI_static gen-adldata-run) @@ -284,6 +294,7 @@ if(libADLMIDI_SHARED) set_target_properties(ADLMIDI_shared PROPERTIES OUTPUT_NAME ADLMIDI) target_include_directories(ADLMIDI_shared PUBLIC ${libADLMIDI_SOURCE_DIR}/include) set_legacy_standard(ADLMIDI_shared) + set_visibility_hidden(ADLMIDI_shared) list(APPEND libADLMIDI_INSTALLS ADLMIDI_shared) if(WITH_EMBEDDED_BANKS AND WITH_GENADLDATA) add_dependencies(ADLMIDI_shared gen-adldata-run) -- cgit v1.2.3 From 99556c7916f32a8ed80a8e303ff92142570209dd Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Mon, 30 Jul 2018 12:46:05 +0300 Subject: Added missing macro for DLL build The macro `ADLMIDI_BUILD_DLL` tells to use the `dllexport` attribute for public symbols. It's required, otherwise, symbol will not be available. --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d1fad6..2d4cec2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -296,6 +296,9 @@ if(libADLMIDI_SHARED) set_legacy_standard(ADLMIDI_shared) set_visibility_hidden(ADLMIDI_shared) list(APPEND libADLMIDI_INSTALLS ADLMIDI_shared) + if(WIN32) + target_compile_definitions(ADLMIDI_shared PRIVATE "-DADLMIDI_BUILD_DLL") + endif() if(WITH_EMBEDDED_BANKS AND WITH_GENADLDATA) add_dependencies(ADLMIDI_shared gen-adldata-run) endif() -- cgit v1.2.3 From f7ba498c92346449b0ebac2da5c36c80a5d3d814 Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Tue, 31 Jul 2018 00:34:39 +0300 Subject: Fix the visibility warning on C compiler --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d4cec2..ba03fbd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,7 +69,7 @@ endfunction() function(set_visibility_hidden destTarget) if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|Clang)$") target_compile_options(${destTarget} PRIVATE - -fvisibility=hidden -fvisibility-inlines-hidden) + $<$:-fvisibility-inlines-hidden> -fvisibility=hidden) target_compile_definitions(${destTarget} PRIVATE "LIBADLMIDI_VISIBILITY") endif() -- cgit v1.2.3 From 7a2f4a8627142561acca8a2b22823eea4d222594 Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Tue, 31 Jul 2018 00:55:36 +0300 Subject: Don't use `-fvisibility-inlines-hidden` expression for older CMake --- CMakeLists.txt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index ba03fbd..916fa06 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,10 +68,13 @@ endfunction() function(set_visibility_hidden destTarget) if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|Clang)$") - target_compile_options(${destTarget} PRIVATE - $<$:-fvisibility-inlines-hidden> -fvisibility=hidden) - target_compile_definitions(${destTarget} PRIVATE - "LIBADLMIDI_VISIBILITY") + if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 3.2) + target_compile_options(${destTarget} PRIVATE + $<$:-fvisibility-inlines-hidden> -fvisibility=hidden) + else() + target_compile_options(${destTarget} PRIVATE -fvisibility=hidden) + endif() + target_compile_definitions(${destTarget} PRIVATE -DLIBADLMIDI_VISIBILITY) endif() endfunction() #=========================================================================================== -- cgit v1.2.3 From 20d95ee6b676c60b5611b14e4c94a25f99803da4 Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Tue, 31 Jul 2018 01:15:14 +0300 Subject: Exclude visibility options from off DJGPP build --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 916fa06..039b7d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,7 +67,7 @@ function(set_legacy_standard destTarget) endfunction() function(set_visibility_hidden destTarget) - if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|Clang)$") + if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|Clang)$" AND NOT DJGPP) if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 3.2) target_compile_options(${destTarget} PRIVATE $<$:-fvisibility-inlines-hidden> -fvisibility=hidden) -- cgit v1.2.3 From 626354e6d686d20c43b4d9aa929b85840e6e1015 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Tue, 31 Jul 2018 02:26:06 +0300 Subject: Fixed MSVC Build of shared library --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 039b7d5..91baffb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -301,7 +301,7 @@ if(libADLMIDI_SHARED) list(APPEND libADLMIDI_INSTALLS ADLMIDI_shared) if(WIN32) target_compile_definitions(ADLMIDI_shared PRIVATE "-DADLMIDI_BUILD_DLL") - endif() + endif() if(WITH_EMBEDDED_BANKS AND WITH_GENADLDATA) add_dependencies(ADLMIDI_shared gen-adldata-run) endif() @@ -444,7 +444,9 @@ if(WITH_ADLMIDI2) if(libADLMIDI_SHARED) add_dependencies(adlmidi2 ADLMIDI_shared) - set_target_properties(adlmidi2 PROPERTIES COMPILE_FLAGS "-Wl,-rpath='$$ORIGIN/../lib'") + 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!") -- cgit v1.2.3