aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt14
-rw-r--r--utils/adlmidi-2/CMakeLists.txt6
-rw-r--r--utils/midiplay/CMakeLists.txt6
3 files changed, 18 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4355b75..7cffbda 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -233,6 +233,20 @@ else()
add_library(ADLMIDI ALIAS ADLMIDI_static)
endif()
+function(libADLMIDI_find_SDL2)
+ if(NOT TARGET ADLMIDI_SDL2)
+ find_package(SDL2 REQUIRED)
+ add_library(ADLMIDI_SDL2 INTERFACE)
+ if(TARGET SDL2::SDL2)
+ target_link_libraries(ADLMIDI_SDL2 INTERFACE SDL2::SDL2)
+ else()
+ string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES)
+ target_include_directories(ADLMIDI_SDL2 INTERFACE ${SDL2_INCLUDE_DIRS})
+ target_link_libraries(ADLMIDI_SDL2 INTERFACE ${SDL2_LIBRARIES})
+ endif()
+ endif()
+endfunction()
+
if(WITH_OLD_UTILS)
# Old utility to dump AdLib bank files
add_subdirectory(utils/dumpbank)
diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt
index a6aa9ce..8390a95 100644
--- a/utils/adlmidi-2/CMakeLists.txt
+++ b/utils/adlmidi-2/CMakeLists.txt
@@ -25,10 +25,8 @@ add_executable(adlmidi2 ${adlmidi2_src})
target_link_libraries(adlmidi2 PRIVATE ADLMIDI)
if(NOT WIN32 AND NOT ADLMIDI_DOS)
- 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})
+ libADLMIDI_find_SDL2()
+ target_link_libraries(adlmidi2 PRIVATE ADLMIDI_SDL2)
endif()
if(ADLMIDI2_HAS_PUZZLE_GAME)
diff --git a/utils/midiplay/CMakeLists.txt b/utils/midiplay/CMakeLists.txt
index 9857c4c..59f77fe 100644
--- a/utils/midiplay/CMakeLists.txt
+++ b/utils/midiplay/CMakeLists.txt
@@ -4,10 +4,8 @@ add_executable(adlmidiplay
)
if(NOT ADLMIDI_DOS 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})
+ libADLMIDI_find_SDL2()
+ target_link_libraries(adlmidiplay PRIVATE ADLMIDI_SDL2)
endif()
if(MIDIPLAY_WAVE_ONLY)