diff options
Diffstat (limited to 'externals/CMakeLists.txt')
| -rw-r--r-- | externals/CMakeLists.txt | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index e230f709fa..72dafa4704 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -136,8 +136,7 @@ if(ENABLE_CUBEB) endif() if (NOT ANDROID) - if (YUZU_USE_EXTERNAL_SDL2) - message(STATUS "Using SDL2 from externals.") + if (YUZU_USE_BUNDLED_SDL3) if (NOT WIN32) # Yuzu itself needs: Atomic Audio Events Joystick Haptic Sensor Threads Timers # Since 2.0.18 Atomic+Threads required for HIDAPI/libusb (see https://github.com/libsdl-org/SDL/issues/5095) @@ -158,21 +157,26 @@ if (NOT ANDROID) set(SDL_FILE ON) endif() - if ("${YUZU_SYSTEM_PROFILE}" STREQUAL "steamdeck") - set(SDL_PIPEWIRE OFF) # build errors out with this on - AddJsonPackage("sdl2_steamdeck") - else() - AddJsonPackage("sdl2_generic") - endif() - elseif (YUZU_USE_BUNDLED_SDL2) - message(STATUS "Using bundled SDL2") + AddJsonPackage(sdl3) + else() + message(STATUS "Using bundled SDL3") if (PLATFORM_FREEBSD) set(BUILD_SHARED_LIBS ON) endif() - AddJsonPackage(sdl2) + AddJsonPackage(sdl3-ci) endif() - find_package(SDL2 2.26.4 REQUIRED) + # Normalize SDL3 link target across package variants. + # Some SDL3 packages export only SDL3::SDL3-shared or SDL3::SDL3-static. + if (NOT TARGET SDL3::SDL3) + if (TARGET SDL3::SDL3-shared) + add_library(SDL3::SDL3 ALIAS SDL3::SDL3-shared) + elseif (TARGET SDL3::SDL3-static) + add_library(SDL3::SDL3 ALIAS SDL3::SDL3-static) + else() + message(FATAL_ERROR "SDL3 package found, but no usable SDL3 target was exported") + endif() + endif() endif() set(BUILD_SHARED_LIBS OFF) |
