From 8915fa92631331a3ab29456525876c39b29ded3b Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Sat, 26 Jul 2025 03:09:05 +0500 Subject: [PATCH] CMake: Only find and link to SDL when needed --- src/CMakeLists.txt | 10 ---------- src/qt/CMakeLists.txt | 9 +++++++++ src/unix/CMakeLists.txt | 10 ++++++++++ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 27db529f5..c77af8256 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -149,16 +149,6 @@ if(APPLE) target_link_libraries(86Box Freetype::Freetype) endif() -find_package(SDL2 REQUIRED) -include_directories(${SDL2_INCLUDE_DIRS}) -if(STATIC_BUILD AND TARGET SDL2::SDL2-static) - target_link_libraries(86Box SDL2::SDL2-static) -elseif(TARGET SDL2::SDL2) - target_link_libraries(86Box SDL2::SDL2) -else() - target_link_libraries(86Box ${SDL2_LIBRARIES}) -endif() - find_package(PNG REQUIRED) include_directories(${PNG_INCLUDE_DIRS}) target_link_libraries(86Box PNG::PNG) diff --git a/src/qt/CMakeLists.txt b/src/qt/CMakeLists.txt index c71273af8..3fb2471a5 100644 --- a/src/qt/CMakeLists.txt +++ b/src/qt/CMakeLists.txt @@ -284,6 +284,15 @@ if(WIN32 AND NOT SDL_JOYSTICK) target_sources(plat PRIVATE win_joystick_rawinput.c) target_link_libraries(86Box hid) else() + find_package(SDL2 REQUIRED) + include_directories(${SDL2_INCLUDE_DIRS}) + if(STATIC_BUILD AND TARGET SDL2::SDL2-static) + target_link_libraries(86Box SDL2::SDL2-static) + elseif(TARGET SDL2::SDL2) + target_link_libraries(86Box SDL2::SDL2) + else() + target_link_libraries(86Box ${SDL2_LIBRARIES}) + endif() target_sources(plat PRIVATE sdl_joystick.c) endif() diff --git a/src/unix/CMakeLists.txt b/src/unix/CMakeLists.txt index 91fa25f39..724ab041f 100644 --- a/src/unix/CMakeLists.txt +++ b/src/unix/CMakeLists.txt @@ -32,6 +32,16 @@ set(THREADS_PREFER_PTHREAD_FLAG TRUE) find_package(Threads REQUIRED) target_link_libraries(86Box Threads::Threads) +find_package(SDL2 REQUIRED) +include_directories(${SDL2_INCLUDE_DIRS}) +if(STATIC_BUILD AND TARGET SDL2::SDL2-static) + target_link_libraries(86Box SDL2::SDL2-static) +elseif(TARGET SDL2::SDL2) + target_link_libraries(86Box SDL2::SDL2) +else() + target_link_libraries(86Box ${SDL2_LIBRARIES}) +endif() + add_library(ui OBJECT unix_sdl.c unix_cdrom.c