aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt31
-rw-r--r--examples/sdl2_audio/CMakeLists.txt10
-rw-r--r--utils/adlmidi-2/CMakeLists.txt14
-rw-r--r--utils/midiplay/CMakeLists.txt11
-rw-r--r--utils/vlc_codec/CMakeLists.txt7
5 files changed, 19 insertions, 54 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4dcad04..c5a5f17 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -224,17 +224,11 @@ if(NOT libADLMIDI_STATIC AND NOT libADLMIDI_SHARED)
You must enable at least one of them!")
endif()
-add_library(ADLMIDI_IF INTERFACE)
-
-if(libADLMIDI_STATIC OR WITH_VLC_PLUGIN)
- add_library(ADLMIDI_IF_STATIC INTERFACE)
- target_link_libraries(ADLMIDI_IF_STATIC INTERFACE ADLMIDI_static)
-endif()
-
+add_library(ADLMIDI INTERFACE)
if(libADLMIDI_SHARED)
- target_link_libraries(ADLMIDI_IF INTERFACE ADLMIDI_shared)
+ target_link_libraries(ADLMIDI INTERFACE ADLMIDI_shared)
else()
- target_link_libraries(ADLMIDI_IF INTERFACE ADLMIDI_static)
+ target_link_libraries(ADLMIDI INTERFACE ADLMIDI_static)
endif()
if(WITH_OLD_UTILS)
@@ -250,6 +244,14 @@ if(WITH_HQ_RESAMPLER)
if(NOT ZITA_RESAMPLER_LIBRARY)
message(FATAL_ERROR "zita-resampler library not found")
endif()
+ if(TARGET ADLMIDI_shared)
+ target_compile_definitions(ADLMIDI_shared PRIVATE ADLMIDI_ENABLE_HQ_RESAMPLER)
+ target_link_libraries(ADLMIDI_shared PUBLIC "${ZITA_RESAMPLER_LIBRARY}")
+ endif()
+ if(TARGET ADLMIDI_static)
+ target_compile_definitions(ADLMIDI_static PRIVATE ADLMIDI_ENABLE_HQ_RESAMPLER)
+ target_link_libraries(ADLMIDI_static PUBLIC "${ZITA_RESAMPLER_LIBRARY}")
+ endif()
endif()
if(WITH_EMBEDDED_BANKS AND WITH_GENADLDATA)
@@ -276,17 +278,6 @@ if(WITH_VLC_PLUGIN)
add_subdirectory(utils/vlc_codec)
endif()
-if(WITH_HQ_RESAMPLER)
- if(libADLMIDI_SHARED)
- target_compile_definitions(ADLMIDI_shared PRIVATE ADLMIDI_ENABLE_HQ_RESAMPLER)
- target_link_libraries(ADLMIDI_shared PUBLIC "${ZITA_RESAMPLER_LIBRARY}")
- endif()
- if(libADLMIDI_STATIC OR WITH_VLC_PLUGIN)
- target_compile_definitions(ADLMIDI_static PRIVATE ADLMIDI_ENABLE_HQ_RESAMPLER)
- target_link_libraries(ADLMIDI_static PUBLIC "${ZITA_RESAMPLER_LIBRARY}")
- endif()
-endif()
-
install(TARGETS ${libADLMIDI_INSTALLS}
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
diff --git a/examples/sdl2_audio/CMakeLists.txt b/examples/sdl2_audio/CMakeLists.txt
index 04e39e3..a5988d7 100644
--- a/examples/sdl2_audio/CMakeLists.txt
+++ b/examples/sdl2_audio/CMakeLists.txt
@@ -8,7 +8,7 @@ string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES)
add_executable(adlmidi_sdl2_demo sdl2_sample.c)
target_include_directories(adlmidi_sdl2_demo PRIVATE ${SDL2_INCLUDE_DIRS})
-target_link_libraries(adlmidi_sdl2_demo PRIVATE ADLMIDI_IF ${SDL2_LIBRARIES})
+target_link_libraries(adlmidi_sdl2_demo PRIVATE ADLMIDI ${SDL2_LIBRARIES})
if(NOT MSVC)
target_link_libraries(adlmidi_sdl2_demo PRIVATE pthread)
@@ -21,14 +21,8 @@ if(MSDOS OR DJGPP)
set_target_properties(adlmidi_sdl2_demo PROPERTIES OUTPUT_NAME adlmidi)
endif()
-if(libADLMIDI_SHARED)
- add_dependencies(adlmidi_sdl2_demo ADLMIDI_shared)
+if(TARGET ADLMIDI_shared)
set_target_properties(adlmidi_sdl2_demo PROPERTIES COMPILE_FLAGS "-Wl,-rpath='$$ORIGIN/../lib'")
-else()
- if(NOT libADLMIDI_STATIC)
- message(FATAL_ERROR "libADLMIDI is required to be built!")
- endif()
- add_dependencies(adlmidi_sdl2_demo ADLMIDI_static)
endif()
install(TARGETS adlmidi_sdl2_demo
diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt
index e8dbf13..087c06a 100644
--- a/utils/adlmidi-2/CMakeLists.txt
+++ b/utils/adlmidi-2/CMakeLists.txt
@@ -24,7 +24,7 @@ if(ADLMIDI2_HAS_PUZZLE_GAME)
endif()
add_executable(adlmidi2 ${adlmidi2_src})
-target_link_libraries(adlmidi2 PRIVATE ADLMIDI_IF)
+target_link_libraries(adlmidi2 PRIVATE ADLMIDI)
if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS)
find_package(SDL2 REQUIRED)
@@ -73,16 +73,8 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "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)
+if(TARGET ADLMIDI_shared AND NOT MSVC)
+ set_target_properties(adlmidi2 PROPERTIES COMPILE_FLAGS "-Wl,-rpath='$$ORIGIN/../lib'")
endif()
install(TARGETS adlmidi2
diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt
index 9134f7f..3dceee4 100644
--- a/utils/midiplay/CMakeLists.txt
+++ b/utils/midiplay/CMakeLists.txt
@@ -25,7 +25,7 @@ if(MSDOS OR DJGPP)
message("Turn on hardware OPL3 support on demo tool")
endif()
-target_link_libraries(adlmidiplay PRIVATE ADLMIDI_IF)
+target_link_libraries(adlmidiplay PRIVATE ADLMIDI)
if(WIN32)
if(NOT MSVC)
@@ -42,14 +42,5 @@ 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
index c6943e4..00fdcae 100644
--- a/utils/vlc_codec/CMakeLists.txt
+++ b/utils/vlc_codec/CMakeLists.txt
@@ -22,16 +22,15 @@ 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)
+target_link_libraries(adlmidi_vlc_plugin PRIVATE ADLMIDI_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++)
+ target_link_libraries(adlmidi_vlc_plugin PRIVATE 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)
@@ -39,5 +38,3 @@ if(NOT VLC_PLUGIN_NOINSTALL)
else()
install(TARGETS adlmidi_vlc_plugin DESTINATION "${CMAKE_INSTALL_LIBDIR}/vlc-codec/")
endif()
-
-add_dependencies(adlmidi_vlc_plugin ADLMIDI_static)