diff options
| author | crueter <crueter@eden-emu.dev> | 2026-02-25 02:49:47 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-02-25 02:49:47 +0100 |
| commit | f25582833aa5d9cc8e540c217cf301eab9e607e7 (patch) | |
| tree | f019aeab5254c7641717390208c3db6fa6c6413b /src | |
| parent | 7758f708335994952ded51df425b76a81c225957 (diff) | |
[cmake] Start requiring SDL2 (#3632)
Closes #3466
Like said in the issue and the OpenSSL equivalent, disabling SDL2 on
desktop is just not something we want to do. It's not worth the added
burden of supporting the n+1'th matrix.
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3632
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/android/app/build.gradle.kts | 1 | ||||
| -rw-r--r-- | src/audio_core/CMakeLists.txt | 31 | ||||
| -rw-r--r-- | src/input_common/CMakeLists.txt | 26 | ||||
| -rw-r--r-- | src/yuzu/CMakeLists.txt | 7 | ||||
| -rw-r--r-- | src/yuzu/main_window.cpp | 8 |
6 files changed, 28 insertions, 47 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 998c73543a..21affffb6b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -235,7 +235,7 @@ if (YUZU_TESTS) add_subdirectory(tests) endif() -if (ENABLE_SDL2 AND YUZU_CMD) +if (YUZU_CMD) add_subdirectory(yuzu_cmd) set_target_properties(yuzu-cmd PROPERTIES OUTPUT_NAME "eden-cli") endif() diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 06c35669ce..622ae53a77 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -79,7 +79,6 @@ android { arguments.addAll( listOf( "-DENABLE_QT=0", // Don't use QT - "-DENABLE_SDL2=0", // Don't use SDL "-DENABLE_WEB_SERVICE=1", // Enable web service "-DENABLE_OPENSSL=ON", "-DANDROID_ARM_NEON=true", // cryptopp requires Neon to work diff --git a/src/audio_core/CMakeLists.txt b/src/audio_core/CMakeLists.txt index 90ee460b55..4f8cc7d1ca 100644 --- a/src/audio_core/CMakeLists.txt +++ b/src/audio_core/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2018 yuzu Emulator Project @@ -231,38 +231,29 @@ endif() target_include_directories(audio_core PRIVATE ${OPUS_INCLUDE_DIRS}) target_link_libraries(audio_core PUBLIC common core Opus::opus) -# what? -# if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) -# target_link_libraries(audio_core PRIVATE dynarmic::dynarmic) -# endif() - if (ENABLE_CUBEB) target_sources(audio_core PRIVATE sink/cubeb_sink.cpp - sink/cubeb_sink.h - ) + sink/cubeb_sink.h) target_link_libraries(audio_core PRIVATE cubeb::cubeb) target_compile_definitions(audio_core PRIVATE HAVE_CUBEB=1) endif() -if (ENABLE_SDL2) - target_sources(audio_core PRIVATE - sink/sdl2_sink.cpp - sink/sdl2_sink.h - ) - - target_link_libraries(audio_core PRIVATE SDL2::SDL2) - target_compile_definitions(audio_core PRIVATE HAVE_SDL2) -endif() - if(ANDROID) target_sources(audio_core PRIVATE sink/oboe_sink.cpp - sink/oboe_sink.h - ) + sink/oboe_sink.h) + target_link_libraries(audio_core PRIVATE oboe) target_compile_definitions(audio_core PUBLIC HAVE_OBOE) +else() + target_sources(audio_core PRIVATE + sink/sdl2_sink.cpp + sink/sdl2_sink.h) + + target_link_libraries(audio_core PRIVATE SDL2::SDL2) + target_compile_definitions(audio_core PRIVATE HAVE_SDL2) endif() create_target_directory_groups(audio_core) diff --git a/src/input_common/CMakeLists.txt b/src/input_common/CMakeLists.txt index 30ccd7e8c1..ef1308b1d0 100644 --- a/src/input_common/CMakeLists.txt +++ b/src/input_common/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2018 yuzu Emulator Project @@ -49,7 +49,13 @@ else() ) endif() -if (ENABLE_SDL2) +if (ANDROID) + target_sources(input_common PRIVATE + drivers/android.cpp + drivers/android.h) + + target_link_libraries(input_common PRIVATE android) +else() target_sources(input_common PRIVATE drivers/joycon.cpp drivers/joycon.h @@ -73,8 +79,8 @@ if (ENABLE_SDL2) helpers/joycon_protocol/ringcon.cpp helpers/joycon_protocol/ringcon.h helpers/joycon_protocol/rumble.cpp - helpers/joycon_protocol/rumble.h - ) + helpers/joycon_protocol/rumble.h) + target_link_libraries(input_common PRIVATE SDL2::SDL2) target_compile_definitions(input_common PRIVATE HAVE_SDL2) endif() @@ -82,19 +88,11 @@ endif() if (ENABLE_LIBUSB) target_sources(input_common PRIVATE drivers/gc_adapter.cpp - drivers/gc_adapter.h - ) + drivers/gc_adapter.h) + target_link_libraries(input_common PRIVATE libusb::usb) target_compile_definitions(input_common PRIVATE ENABLE_LIBUSB) endif() create_target_directory_groups(input_common) target_link_libraries(input_common PUBLIC hid_core PRIVATE common Boost::headers) - -if (ANDROID) - target_sources(input_common PRIVATE - drivers/android.cpp - drivers/android.h - ) - target_link_libraries(input_common PRIVATE android) -endif() diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 725639a8fe..c85d43235a 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -431,11 +431,6 @@ if (WIN32 AND NOT YUZU_USE_BUNDLED_QT) add_custom_command(TARGET yuzu POST_BUILD COMMAND ${WINDEPLOYQT_EXECUTABLE} "${YUZU_EXE_DIR}/eden.exe" --dir "${YUZU_EXE_DIR}" --libdir "${YUZU_EXE_DIR}" --plugindir "${YUZU_EXE_DIR}/plugins" --no-compiler-runtime --no-opengl-sw --no-system-d3d-compiler --no-translations --verbose 0) endif() -if (ENABLE_SDL2) - target_link_libraries(yuzu PRIVATE SDL2::SDL2) - target_compile_definitions(yuzu PRIVATE HAVE_SDL2) -endif() - if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) target_link_libraries(yuzu PRIVATE dynarmic::dynarmic) endif() @@ -454,6 +449,6 @@ if (NOT MSVC AND (APPLE OR NOT YUZU_STATIC_BUILD)) endif() # Remember that the linker is incredibly stupid. -target_link_libraries(yuzu PRIVATE OpenSSL::SSL OpenSSL::Crypto) +target_link_libraries(yuzu PRIVATE OpenSSL::SSL OpenSSL::Crypto SDL2::SDL2) create_target_directory_groups(yuzu) diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp index e1a94632f9..e19f2def95 100644 --- a/src/yuzu/main_window.cpp +++ b/src/yuzu/main_window.cpp @@ -149,9 +149,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual #include "video_core/renderer_base.h" #include "video_core/shader_notify.h" -#ifdef HAVE_SDL2 #include <SDL.h> -#endif #include <boost/container/flat_set.hpp> @@ -602,7 +600,7 @@ MainWindow::MainWindow(bool has_broken_vulkan) VkDeviceInfo::PopulateRecords(vk_device_records, this->window()->windowHandle()); } -#if defined(HAVE_SDL2) && !defined(_WIN32) +#if !defined(_WIN32) SDL_InitSubSystem(SDL_INIT_VIDEO); // Set a screensaver inhibition reason string. Currently passed to DBus by SDL and visible to @@ -1881,7 +1879,7 @@ void MainWindow::OnSigInterruptNotifierActivated() { void MainWindow::PreventOSSleep() { #ifdef _WIN32 SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED); -#elif defined(HAVE_SDL2) +#else SDL_DisableScreenSaver(); #endif } @@ -1889,7 +1887,7 @@ void MainWindow::PreventOSSleep() { void MainWindow::AllowOSSleep() { #ifdef _WIN32 SetThreadExecutionState(ES_CONTINUOUS); -#elif defined(HAVE_SDL2) +#else SDL_EnableScreenSaver(); #endif } |
