From ad2e1cc554ecd363ae1412b66d537464bba001e7 Mon Sep 17 00:00:00 2001 From: Kaydax Date: Mon, 18 May 2026 19:07:41 +0200 Subject: [externals] Update to SDL3 (#3952) Since the launch of the steam controller I think it's only best to push towards updating to SDL3 allowing for a wider range of controller support I went ahead and started on getting it working. Everything here should be functional, I've personally tested it all on Arch Linux. Still untested on windows, so looking for feedback on that Any feedback and help would be appreciated! Main changes: - Bump everything to SDL3 - Handle SDL3 audio and input - Add steam controller support, including HD Rumble - Improved battery reporting via the status icon by using real % rather than state alone Co-authored-by: crueter Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3952 Reviewed-by: crueter Reviewed-by: MaranBr Reviewed-by: Lizzie --- CMakeLists.txt | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index cbb4a25a2d..f828f20bd2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,13 +119,13 @@ if (YUZU_STATIC_BUILD) set(QuaZip-Qt6_FORCE_BUNDLED ON) set(YUZU_USE_BUNDLED_FFMPEG ON) - set(YUZU_USE_BUNDLED_SDL2 ON) + set(YUZU_USE_BUNDLED_SDL3 ON) set(YUZU_USE_BUNDLED_OPENSSL ON) set(HTTPLIB_USE_BROTLI_IF_AVAILABLE OFF) elseif(APPLE) set(YUZU_USE_BUNDLED_FFMPEG ON) - set(YUZU_USE_BUNDLED_SDL2 ON) + set(YUZU_USE_BUNDLED_SDL3 ON) set(YUZU_USE_BUNDLED_OPENSSL ON) # these libs do not properly provide static libs/let you do it with cmake @@ -194,8 +194,7 @@ if(MSVC) endif() # TODO(crueter): Cleanup, each dep that has a bundled option should allow to choose between bundled, external, system -cmake_dependent_option(YUZU_USE_EXTERNAL_SDL2 "Build SDL2 from external source" OFF "NOT MSVC;NOT ANDROID" OFF) -cmake_dependent_option(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 build" "${MSVC}" "NOT ANDROID" OFF) +cmake_dependent_option(YUZU_USE_BUNDLED_SDL3 "Download bundled SDL3 build" "${MSVC}" "NOT ANDROID" OFF) option(ENABLE_CUBEB "Enables the cubeb audio backend" ON) @@ -361,10 +360,6 @@ if (CXX_GCC OR CXX_CLANG) endif() endif() -# Other presets, e.g. steamdeck -# TODO(crueter): Just have every Linux/Windows use old sdl2 -set(YUZU_SYSTEM_PROFILE "generic" CACHE STRING "CMake and Externals profile to use. One of: generic, steamdeck") - # Configure C++ standard # =========================== @@ -562,7 +557,7 @@ if (NOT YUZU_STATIC_ROOM) endif() if (NOT ANDROID) - find_package(SDL2) + find_package(SDL3) endif() if (USE_DISCORD_PRESENCE) -- cgit v1.2.3