diff options
-rw-r--r-- | CMakeLists.txt | 31 | ||||
-rw-r--r-- | examples/sdl2_audio/CMakeLists.txt | 10 | ||||
-rw-r--r-- | utils/adlmidi-2/CMakeLists.txt | 14 | ||||
-rw-r--r-- | utils/midiplay/CMakeLists.txt | 11 | ||||
-rw-r--r-- | utils/vlc_codec/CMakeLists.txt | 7 |
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) |