From 6dd744141c857e574d68db6841a5a7eb27bb797d Mon Sep 17 00:00:00 2001 From: "Andreas J. Reichel" Date: Sun, 17 Oct 2021 21:17:57 +0200 Subject: [PATCH] Make it build in arch linux and Debian * Probably unresolved external due to newer gcc, thus added libsdl to libui.a as well. * Make it work for all distros, which either have SDL2::SDL2 or ${SDL2_LIBRARIES}, provided by sdl2-config or FindSDL2.cmake. Signed-off-by: Andreas J. Reichel --- src/CMakeLists.txt | 6 +++++- src/unix/CMakeLists.txt | 14 +++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 47cb558db..49025d4dd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -82,7 +82,11 @@ if(MINGW) elseif(WIN32) target_link_libraries(86Box SDL2::SDL2) else() - target_link_libraries(86Box ${SDL2_LIBRARIES}) + if (TARGET SDL2::SDL2) + target_link_libraries(86Box SDL2::SDL2) + else() + target_link_libraries(86Box ${SDL2_LIBRARIES}) + endif() endif() find_package(PNG REQUIRED) diff --git a/src/unix/CMakeLists.txt b/src/unix/CMakeLists.txt index d0524e38b..e21265370 100644 --- a/src/unix/CMakeLists.txt +++ b/src/unix/CMakeLists.txt @@ -12,10 +12,22 @@ add_library(plat STATIC ${PLAT_SOURCES} unix_thread.c) add_library(ui STATIC unix.c unix_sdl.c unix_cdrom.c) target_compile_definitions(ui PUBLIC _FILE_OFFSET_BITS=64) target_link_libraries(ui dl) + +find_package(SDL2 REQUIRED) +include_directories(${SDL2_INCLUDE_DIRS}) +if(MINGW) + target_link_libraries(ui SDL2::SDL2-static) +else() + if (TARGET SDL2::SDL2) + target_link_libraries(ui SDL2::SDL2) + else() + target_link_libraries(ui ${SDL2_LIBRARIES}) + endif() +endif() if (ALSA_FOUND) target_link_libraries(plat ALSA::ALSA) endif() set(THREADS_PREFER_PTHREAD_FLAG TRUE) find_package(Threads REQUIRED) -target_link_libraries(86Box Threads::Threads) \ No newline at end of file +target_link_libraries(86Box Threads::Threads)