aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt14
-rw-r--r--src/adlmidi.cpp5
-rw-r--r--src/adlmidi_private.hpp2
3 files changed, 15 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ab3e7e5..2d4cec2 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,7 +294,11 @@ 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(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()
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp
index 09cf7ea..4f6044b 100644
--- a/src/adlmidi.cpp
+++ b/src/adlmidi.cpp
@@ -670,11 +670,6 @@ ADLMIDI_EXPORT const char *adl_errorInfo(struct ADL_MIDIPlayer *device)
return play->getErrorString().c_str();
}
-ADLMIDI_EXPORT const char *adl_getMusicTitle(struct ADL_MIDIPlayer *device)
-{
- return adl_metaMusicTitle(device);
-}
-
ADLMIDI_EXPORT void adl_reset(struct ADL_MIDIPlayer *device)
{
if(!device)
diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp
index b9228dc..8c219b9 100644
--- a/src/adlmidi_private.hpp
+++ b/src/adlmidi_private.hpp
@@ -28,7 +28,7 @@
#ifndef ADLMIDI_EXPORT
# if defined (_WIN32) && defined(ADLMIDI_BUILD_DLL)
# define ADLMIDI_EXPORT __declspec(dllexport)
-# elif defined (LIBADLMIDI_VISIBILITY)
+# elif defined (LIBADLMIDI_VISIBILITY) && defined (__GNUC__)
# define ADLMIDI_EXPORT __attribute__((visibility ("default")))
# else
# define ADLMIDI_EXPORT