From 9b27937a8da1a3d5a334a2016cb964e54887dd71 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 13 Dec 2018 09:41:11 +0100 Subject: Revert "Put back "find_library" of SDL2" This reverts commit c43c8b1293f1766abfef5689c8d21fb0fd124f6f. --- examples/sdl2_audio/CMakeLists.txt | 3 +-- utils/adlmidi-2/CMakeLists.txt | 3 +-- utils/midiplay/CMakeLists.txt | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/examples/sdl2_audio/CMakeLists.txt b/examples/sdl2_audio/CMakeLists.txt index 6061b92..45fd654 100644 --- a/examples/sdl2_audio/CMakeLists.txt +++ b/examples/sdl2_audio/CMakeLists.txt @@ -3,9 +3,8 @@ project(adlmidi_vlc_plugin C) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -find_library(SDL2_LIBRARY SDL2 REQUIRED) +find_package(SDL2 REQUIRED) include_directories(${SDL2_INCLUDE_DIR}) -message("Found ${SDL2_LIBRARY}") add_executable(adlmidi_sdl2_demo sdl2_sample.c) diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt index 87fa810..6a31a33 100644 --- a/utils/adlmidi-2/CMakeLists.txt +++ b/utils/adlmidi-2/CMakeLists.txt @@ -8,9 +8,8 @@ find_package(OpenMP) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS) - find_library(SDL2_LIBRARY SDL2 REQUIRED) + find_package(SDL2 REQUIRED) include_directories(${SDL2_INCLUDE_DIR}) - message("Found ${SDL2_LIBRARY}") endif() if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS) diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt index ac5d4c2..8aef37f 100644 --- a/utils/midiplay/CMakeLists.txt +++ b/utils/midiplay/CMakeLists.txt @@ -4,9 +4,8 @@ project(adlmidiplay CXX) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) if(NOT MSDOS AND NOT DJGPP AND NOT MIDIPLAY_WAVE_ONLY) - find_library(SDL2_LIBRARY SDL2 REQUIRED) + find_package(SDL2 REQUIRED) include_directories(${SDL2_INCLUDE_DIR}) - message("Found ${SDL2_LIBRARY}") else() unset(SDL2_LIBRARY) endif() -- cgit v1.2.3 From 68d5c8d63c4901b1894af89f417285b32727935f Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 13 Dec 2018 10:13:36 +0100 Subject: Fix SDL2 handling --- CMakeLists.txt | 6 ++++-- examples/sdl2_audio/CMakeLists.txt | 18 ++++++++---------- utils/adlmidi-2/CMakeLists.txt | 33 ++++++++++++++++----------------- utils/gen_adldata/CMakeLists.txt | 5 ++--- utils/midiplay/CMakeLists.txt | 36 +++++++++++++++--------------------- utils/vlc_codec/CMakeLists.txt | 4 ++-- 6 files changed, 47 insertions(+), 55 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 888893e..4ea5e0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -246,7 +246,10 @@ if(WITH_OLD_UTILS) endif() if(WITH_HQ_RESAMPLER) - find_library(ZITA_RESAMPLER_LIBRARY "zita-resampler" REQUIRED) + find_library(ZITA_RESAMPLER_LIBRARY "zita-resampler") + if(NOT ZITA_RESAMPLER_LIBRARY) + message(FATAL_ERROR "zita-resampler library not found") + endif() endif() if(WITH_EMBEDDED_BANKS AND WITH_GENADLDATA) @@ -346,4 +349,3 @@ 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}") - diff --git a/examples/sdl2_audio/CMakeLists.txt b/examples/sdl2_audio/CMakeLists.txt index 45fd654..04e39e3 100644 --- a/examples/sdl2_audio/CMakeLists.txt +++ b/examples/sdl2_audio/CMakeLists.txt @@ -4,18 +4,17 @@ project(adlmidi_vlc_plugin C) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) find_package(SDL2 REQUIRED) -include_directories(${SDL2_INCLUDE_DIR}) +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}) -if(WIN32) - if(MSVC) - target_link_libraries(adlmidi_sdl2_demo ADLMIDI_IF ${SDL2_LIBRARY}) - else() - target_link_libraries(adlmidi_sdl2_demo ADLMIDI_IF ${SDL2_LIBRARY} pthread) - endif() -else() - target_link_libraries(adlmidi_sdl2_demo ADLMIDI_IF ${SDL2_LIBRARY} pthread dl m stdc++) +if(NOT MSVC) + target_link_libraries(adlmidi_sdl2_demo PRIVATE pthread) +endif() +if(NOT WIN32) + target_link_libraries(adlmidi_sdl2_demo PRIVATE dl m stdc++) endif() if(MSDOS OR DJGPP) @@ -34,4 +33,3 @@ endif() install(TARGETS adlmidi_sdl2_demo RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") - diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt index 6a31a33..ea4dd3e 100644 --- a/utils/adlmidi-2/CMakeLists.txt +++ b/utils/adlmidi-2/CMakeLists.txt @@ -8,13 +8,8 @@ find_package(OpenMP) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS) - find_package(SDL2 REQUIRED) - include_directories(${SDL2_INCLUDE_DIR}) -endif() - -if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS) - set(ADLMIDI2_HAS_PUZZLE_GAME "TRUE") - set(ADLMIDI2_VIDEO_OUT_SUPPORT "TRUE") + set(ADLMIDI2_HAS_PUZZLE_GAME TRUE) + set(ADLMIDI2_VIDEO_OUT_SUPPORT TRUE) endif() @@ -29,6 +24,14 @@ if(ADLMIDI2_HAS_PUZZLE_GAME) endif() add_executable(adlmidi2 ${adlmidi2_src}) +target_link_libraries(adlmidi2 PRIVATE ADLMIDI_IF) + +if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS) + find_package(SDL2 REQUIRED) + string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES) + target_include_directories(adlmidi2 PRIVATE ${SDL2_INCLUDE_DIRS}) + target_link_libraries(adlmidi2 PRIVATE ${SDL2_LIBRARIES}) +endif() if(ADLMIDI2_HAS_PUZZLE_GAME) target_compile_definitions(adlmidi2 PUBLIC "-DSUPPORT_PUZZLE_GAME") @@ -44,15 +47,12 @@ if(MSDOS OR DJGPP) endif() if(WIN32) - target_link_libraries(adlmidi2 ADLMIDI_IF winmm) -elseif(DJGPP OR MSDOS) - target_link_libraries(adlmidi2 ADLMIDI_IF) -else() - set(ADLMIDI2_LIBS ADLMIDI_IF ${SDL2_LIBRARY} pthread dl m stdc++) - if(OPENBSD_LOCALBASE) - list(REMOVE_ITEM ADLMIDI2_LIBS dl) + target_link_libraries(adlmidi2 PRIVATE winmm) +else(NOT DJGPP AND NOT MSDOS) + if(NOT OPENBSD_LOCALBASE) + target_link_libraries(adlmidi2 PRIVATE dl) endif() - target_link_libraries(adlmidi2 ${ADLMIDI2_LIBS}) + target_link_libraries(adlmidi2 PRIVATE pthread m stdc++) endif() if(NOT WITH_CPP_EXTRAS) @@ -66,7 +66,7 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR CMAKE_COMPILER_IS_MINGW) if(OPENMP_FOUND) target_compile_options(adlmidi2 PUBLIC "-fopenmp") - target_link_libraries(adlmidi2 "-fopenmp") + target_link_libraries(adlmidi2 PRIVATE "-fopenmp") endif() else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") message("Turned on C++11 on MSVC") @@ -87,4 +87,3 @@ endif() install(TARGETS adlmidi2 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") - diff --git a/utils/gen_adldata/CMakeLists.txt b/utils/gen_adldata/CMakeLists.txt index 766b9b7..a361501 100644 --- a/utils/gen_adldata/CMakeLists.txt +++ b/utils/gen_adldata/CMakeLists.txt @@ -41,7 +41,7 @@ add_executable(gen_adldata ${GEN_ADLDATA_SRC} ) if(NOT MSVC) - target_link_libraries(gen_adldata pthread m stdc++) + target_link_libraries(gen_adldata PRIVATE pthread m stdc++) endif() if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR @@ -50,7 +50,7 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR CMAKE_COMPILER_IS_MINGW) if(OPENMP_FOUND) target_compile_options(gen_adldata PUBLIC "-fopenmp") - target_link_libraries(gen_adldata "-fopenmp") + target_link_libraries(gen_adldata PRIVATE "-fopenmp") endif() else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") message("Turned on C++11 on MSVC") @@ -71,4 +71,3 @@ add_custom_target(gen-adldata-run #OUTPUT ${ADLDATA_DATABASE} COMMENT "Running Embedded FM banks database generation" VERBATIM ) - diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt index 8aef37f..6e46885 100644 --- a/utils/midiplay/CMakeLists.txt +++ b/utils/midiplay/CMakeLists.txt @@ -3,18 +3,18 @@ project(adlmidiplay CXX) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -if(NOT MSDOS AND NOT DJGPP AND NOT MIDIPLAY_WAVE_ONLY) - find_package(SDL2 REQUIRED) - include_directories(${SDL2_INCLUDE_DIR}) -else() - unset(SDL2_LIBRARY) -endif() - add_executable(adlmidiplay adlmidiplay.cpp wave_writer.c ) +if(NOT MSDOS AND NOT DJGPP AND NOT MIDIPLAY_WAVE_ONLY) + find_package(SDL2 REQUIRED) + string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES) + target_include_directories(adlmidiplay PRIVATE ${SDL2_INCLUDE_DIRS}) + target_link_libraries(adlmidiplay PRIVATE ${SDL2_LIBRARIES}) +endif() + if(MIDIPLAY_WAVE_ONLY) target_compile_definitions(adlmidiplay PUBLIC "-DOUTPUT_WAVE_ONLY") message("Demo tool will only output WAVE file, no playing support.") @@ -25,22 +25,17 @@ if(MSDOS OR DJGPP) message("Turn on hardware OPL3 support on demo tool") endif() +target_link_libraries(adlmidiplay PRIVATE ADLMIDI_IF) + if(WIN32) - if(MSVC) - target_link_libraries(adlmidiplay ADLMIDI_IF ${SDL2_LIBRARY}) - else() - target_link_libraries(adlmidiplay ADLMIDI_IF ${SDL2_LIBRARY} pthread) + if(NOT MSVC) + target_link_libraries(adlmidiplay PRIVATE pthread) endif() -else() - if(MSDOS OR DJGPP) - target_link_libraries(adlmidiplay ADLMIDI_IF) - else() - set(ADLMIDIPLAY_LIBS ADLMIDI_IF ${SDL2_LIBRARY} pthread dl m stdc++) - if(OPENBSD_LOCALBASE) - list(REMOVE_ITEM ADLMIDIPLAY_LIBS dl) - endif() - target_link_libraries(adlmidiplay ${ADLMIDIPLAY_LIBS}) +elseif(NOT MSDOS AND NOT DJGPP) + if(NOT OPENBSD_LOCALBASE) + target_link_libraries(adlmidiplay PRIVATE dl) endif() + target_link_libraries(adlmidiplay PRIVATE pthread m stdc++) endif() if(MSDOS OR DJGPP) @@ -58,4 +53,3 @@ endif() install(TARGETS adlmidiplay RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") - diff --git a/utils/vlc_codec/CMakeLists.txt b/utils/vlc_codec/CMakeLists.txt index 2973b13..c6943e4 100644 --- a/utils/vlc_codec/CMakeLists.txt +++ b/utils/vlc_codec/CMakeLists.txt @@ -3,7 +3,8 @@ project(adlmidi_vlc_plugin C) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -include(../../cmake/FindLIBVLC.cmake) +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../cmake") +find_package(LIBVLC REQUIRED) message("Found ${LIBVLCCORE_LIBRARY} of version ${LIBVLC_VERSION} with includes ${LIBVLC_INCLUDE_DIR}") set(adlmidi_vlc_src) @@ -40,4 +41,3 @@ else() endif() add_dependencies(adlmidi_vlc_plugin ADLMIDI_static) - -- cgit v1.2.3 From 613b7127cfc84ecb0dbfcbee12f0c9776ab20cb5 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 13 Dec 2018 10:18:42 +0100 Subject: Fix compile definitions No "-D" needed --- CMakeLists.txt | 8 ++++---- test/bankmap/CMakeLists.txt | 2 +- test/conversion/CMakeLists.txt | 2 +- test/wopl-file/CMakeLists.txt | 3 +-- utils/adlmidi-2/CMakeLists.txt | 6 +++--- utils/midiplay/CMakeLists.txt | 4 ++-- 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ea5e0d..4dcad04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,7 +74,7 @@ function(set_visibility_hidden destTarget) else() target_compile_options(${destTarget} PRIVATE -fvisibility=hidden) endif() - target_compile_definitions(${destTarget} PRIVATE -DLIBADLMIDI_VISIBILITY) + target_compile_definitions(${destTarget} PRIVATE LIBADLMIDI_VISIBILITY=) endif() endfunction() #=========================================================================================== @@ -204,7 +204,7 @@ if(libADLMIDI_SHARED) set_visibility_hidden(ADLMIDI_shared) list(APPEND libADLMIDI_INSTALLS ADLMIDI_shared) if(WIN32) - target_compile_definitions(ADLMIDI_shared PRIVATE "-DADLMIDI_BUILD_DLL") + target_compile_definitions(ADLMIDI_shared PRIVATE ADLMIDI_BUILD_DLL) if(CMAKE_COMPILER_IS_GNUCXX) set_property(TARGET ADLMIDI_shared APPEND_STRING PROPERTY LINK_FLAGS " -static-libgcc -static-libstdc++") set_property(TARGET ADLMIDI_shared APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-Bstatic,--whole-archive -lpthread -Wl,-Bdynamic,--no-whole-archive") @@ -278,11 +278,11 @@ endif() if(WITH_HQ_RESAMPLER) if(libADLMIDI_SHARED) - target_compile_definitions(ADLMIDI_shared PRIVATE -DADLMIDI_ENABLE_HQ_RESAMPLER) + 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 -DADLMIDI_ENABLE_HQ_RESAMPLER) + target_compile_definitions(ADLMIDI_static PRIVATE ADLMIDI_ENABLE_HQ_RESAMPLER) target_link_libraries(ADLMIDI_static PUBLIC "${ZITA_RESAMPLER_LIBRARY}") endif() endif() diff --git a/test/bankmap/CMakeLists.txt b/test/bankmap/CMakeLists.txt index 2741637..e4f71de 100644 --- a/test/bankmap/CMakeLists.txt +++ b/test/bankmap/CMakeLists.txt @@ -8,5 +8,5 @@ include_directories( add_executable(BankMapTest bank_map.cpp $) -set_target_properties(BankMapTest PROPERTIES COMPILE_DEFINITIONS "GSL_THROW_ON_CONTRACT_VIOLATION") +target_compile_definitions(BankMapTest PRIVATE GSL_THROW_ON_CONTRACT_VIOLATION) add_test(NAME BankMapTest COMMAND BankMapTest) diff --git a/test/conversion/CMakeLists.txt b/test/conversion/CMakeLists.txt index 361c7e8..52e8e8a 100644 --- a/test/conversion/CMakeLists.txt +++ b/test/conversion/CMakeLists.txt @@ -8,5 +8,5 @@ include_directories( add_executable(ConversionTest conversion.cpp $) -set_target_properties(ConversionTest PROPERTIES COMPILE_DEFINITIONS "GSL_THROW_ON_CONTRACT_VIOLATION") +target_compile_definitions(ConversionTest PRIVATE GSL_THROW_ON_CONTRACT_VIOLATION) add_test(NAME ConversionTest COMMAND ConversionTest) diff --git a/test/wopl-file/CMakeLists.txt b/test/wopl-file/CMakeLists.txt index 082f1fe..e969419 100644 --- a/test/wopl-file/CMakeLists.txt +++ b/test/wopl-file/CMakeLists.txt @@ -10,6 +10,5 @@ add_executable(WoplFile ${libADLMIDI_SOURCE_DIR}/src/wopl/wopl_file.c $) -set_target_properties(WoplFile PROPERTIES COMPILE_DEFINITIONS "GSL_THROW_ON_CONTRACT_VIOLATION") +target_compile_definitions(WoplFile PRIVATE GSL_THROW_ON_CONTRACT_VIOLATION) add_test(NAME WoplFileTest COMMAND WoplFile) - diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt index ea4dd3e..e8dbf13 100644 --- a/utils/adlmidi-2/CMakeLists.txt +++ b/utils/adlmidi-2/CMakeLists.txt @@ -34,15 +34,15 @@ if(NOT WIN32 AND NOT DJGPP AND NOT MSDOS) endif() if(ADLMIDI2_HAS_PUZZLE_GAME) - target_compile_definitions(adlmidi2 PUBLIC "-DSUPPORT_PUZZLE_GAME") + target_compile_definitions(adlmidi2 PUBLIC SUPPORT_PUZZLE_GAME) endif() if(ADLMIDI2_VIDEO_OUT_SUPPORT) - target_compile_definitions(adlmidi2 PUBLIC "-DSUPPORT_VIDEO_OUTPUT") + target_compile_definitions(adlmidi2 PUBLIC SUPPORT_VIDEO_OUTPUT) endif() if(MSDOS OR DJGPP) - target_compile_definitions(adlmidi2 PUBLIC "-DHARDWARE_OPL3") + target_compile_definitions(adlmidi2 PUBLIC HARDWARE_OPL3) message("Turn on hardware OPL3 support on ADLMIDI2 tool") endif() diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt index 6e46885..9134f7f 100644 --- a/utils/midiplay/CMakeLists.txt +++ b/utils/midiplay/CMakeLists.txt @@ -16,12 +16,12 @@ if(NOT MSDOS AND NOT DJGPP AND NOT MIDIPLAY_WAVE_ONLY) endif() if(MIDIPLAY_WAVE_ONLY) - target_compile_definitions(adlmidiplay PUBLIC "-DOUTPUT_WAVE_ONLY") + target_compile_definitions(adlmidiplay PUBLIC OUTPUT_WAVE_ONLY) message("Demo tool will only output WAVE file, no playing support.") endif() if(MSDOS OR DJGPP) - target_compile_definitions(adlmidiplay PUBLIC "-DHARDWARE_OPL3") + target_compile_definitions(adlmidiplay PUBLIC HARDWARE_OPL3) message("Turn on hardware OPL3 support on demo tool") endif() -- cgit v1.2.3 From 24d7bc8fa17765695752eddfb51865d983dc5cf8 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 13 Dec 2018 10:31:29 +0100 Subject: Optimize targets and related checks --- CMakeLists.txt | 31 +++++++++++-------------------- examples/sdl2_audio/CMakeLists.txt | 10 ++-------- utils/adlmidi-2/CMakeLists.txt | 14 +++----------- utils/midiplay/CMakeLists.txt | 11 +---------- 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) -- cgit v1.2.3 From 2fd13442097f92350ee481361f73015c918d91b5 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 13 Dec 2018 10:35:38 +0100 Subject: Improve compiler checks --- CMakeLists.txt | 2 +- utils/adlmidi-2/CMakeLists.txt | 6 +----- utils/gen_adldata/CMakeLists.txt | 6 +----- utils/vlc_codec/CMakeLists.txt | 2 +- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c5a5f17..77454ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,7 @@ endfunction() function(set_visibility_hidden destTarget) if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|Clang)$" AND NOT DJGPP) - if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 3.2) + if(CMAKE_VERSION VERSION_GREATER 3.2) target_compile_options(${destTarget} PRIVATE $<$:-fvisibility-inlines-hidden> -fvisibility=hidden) else() diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt index 087c06a..e9c1f7d 100644 --- a/utils/adlmidi-2/CMakeLists.txt +++ b/utils/adlmidi-2/CMakeLists.txt @@ -59,11 +59,7 @@ if(NOT WITH_CPP_EXTRAS) message(FATAL_ERROR "ADLMIDI2 Requires C++ Extras. Please enable WITH_CPP_EXTRAS option!") 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_CXX_COMPILER_ID MATCHES "GNU|Clang|Intel|MinGW" OR MINGW) if(OPENMP_FOUND) target_compile_options(adlmidi2 PUBLIC "-fopenmp") target_link_libraries(adlmidi2 PRIVATE "-fopenmp") diff --git a/utils/gen_adldata/CMakeLists.txt b/utils/gen_adldata/CMakeLists.txt index a361501..ef1339b 100644 --- a/utils/gen_adldata/CMakeLists.txt +++ b/utils/gen_adldata/CMakeLists.txt @@ -43,11 +43,7 @@ add_executable(gen_adldata if(NOT MSVC) target_link_libraries(gen_adldata PRIVATE 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_CXX_COMPILER_ID MATCHES "GNU|Clang|Intel|MinGW" OR MINGW) if(OPENMP_FOUND) target_compile_options(gen_adldata PUBLIC "-fopenmp") target_link_libraries(gen_adldata PRIVATE "-fopenmp") diff --git a/utils/vlc_codec/CMakeLists.txt b/utils/vlc_codec/CMakeLists.txt index 00fdcae..aecf582 100644 --- a/utils/vlc_codec/CMakeLists.txt +++ b/utils/vlc_codec/CMakeLists.txt @@ -24,7 +24,7 @@ target_include_directories(adlmidi_vlc_plugin PRIVATE target_link_libraries(adlmidi_vlc_plugin PRIVATE ADLMIDI_static ${LIBVLCCORE_LIBRARY} m) -if(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_COMPILER_IS_GNUCXX) +if(WIN32 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) -- cgit v1.2.3 From 10603bc5db691f0763891bb255cc23a95818cec5 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 13 Dec 2018 10:38:27 +0100 Subject: Fix OpenMP handling --- utils/adlmidi-2/CMakeLists.txt | 11 +++++------ utils/gen_adldata/CMakeLists.txt | 16 +++++++--------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt index e9c1f7d..6907b15 100644 --- a/utils/adlmidi-2/CMakeLists.txt +++ b/utils/adlmidi-2/CMakeLists.txt @@ -4,6 +4,10 @@ project(adlmidi2 CXX) set(CMAKE_CXX_STANDARD 11) find_package(OpenMP) +if(OPENMP_FOUND) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +endif() set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) @@ -59,12 +63,7 @@ if(NOT WITH_CPP_EXTRAS) message(FATAL_ERROR "ADLMIDI2 Requires C++ Extras. Please enable WITH_CPP_EXTRAS option!") endif() -if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|Intel|MinGW" OR MINGW) - if(OPENMP_FOUND) - target_compile_options(adlmidi2 PUBLIC "-fopenmp") - target_link_libraries(adlmidi2 PRIVATE "-fopenmp") - endif() -else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(MSVC) message("Turned on C++11 on MSVC") target_compile_options(adlmidi2 PUBLIC "/std:c++latest") endif() diff --git a/utils/gen_adldata/CMakeLists.txt b/utils/gen_adldata/CMakeLists.txt index ef1339b..40aa4b5 100644 --- a/utils/gen_adldata/CMakeLists.txt +++ b/utils/gen_adldata/CMakeLists.txt @@ -4,6 +4,10 @@ project(gen_adldata CXX) set(CMAKE_CXX_STANDARD 11) find_package(OpenMP) +if(OPENMP_FOUND) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +endif() set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) @@ -40,17 +44,11 @@ endif() add_executable(gen_adldata ${GEN_ADLDATA_SRC} ) -if(NOT MSVC) - target_link_libraries(gen_adldata PRIVATE pthread m stdc++) -endif() -if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|Intel|MinGW" OR MINGW) - if(OPENMP_FOUND) - target_compile_options(gen_adldata PUBLIC "-fopenmp") - target_link_libraries(gen_adldata PRIVATE "-fopenmp") - endif() -else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(MSVC) message("Turned on C++11 on MSVC") target_compile_options(gen_adldata PUBLIC "/std:c++latest") +else() + target_link_libraries(gen_adldata PRIVATE pthread m stdc++) endif() if(WITH_GENADLDATA_COMMENTS) -- cgit v1.2.3