From 87514151c48ebed95a42bea9c4a62d9888032e71 Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Tue, 20 May 2025 12:13:10 +0100 Subject: [PATCH 1/3] Use SDL2 Backend with OpenAL This change implements openal to use the sdl2 backend. The main change in this is in openal-soft cmakeLists.txt it was not using our custom finders to find sdl2 for us before and so it had to be changed to a list append instead of a set. This needs to be remembered for future updates to openal --- Engine/lib/CMakeLists.txt | 26 +++++++++++++------------- Engine/lib/openal-soft/CMakeLists.txt | 2 +- Tools/CMake/finders/FindSDL2.cmake | 13 +++++++++++++ 3 files changed, 27 insertions(+), 14 deletions(-) create mode 100644 Tools/CMake/finders/FindSDL2.cmake diff --git a/Engine/lib/CMakeLists.txt b/Engine/lib/CMakeLists.txt index e3a28fbb5..2d3698a90 100644 --- a/Engine/lib/CMakeLists.txt +++ b/Engine/lib/CMakeLists.txt @@ -199,18 +199,18 @@ if(TORQUE_SFX_OPENAL) advanced_option(TORQUE_OGGVORBIS "Enable OGG Vorbis" ON) advanced_option(ALSOFT_EAX "Enable legacy EAX extensions" ${WIN32}) advanced_option(ALSOFT_UPDATE_BUILD_VERSION "Update git build version info" ON) - mark_as_advanced(ALSOFT_BACKEND_COREAUDIO) - mark_as_advanced(ALSOFT_BACKEND_DSOUND) - mark_as_advanced(ALSOFT_BACKEND_JACK) - mark_as_advanced(ALSOFT_BACKEND_OBOE) - mark_as_advanced(ALSOFT_BACKEND_OPENSL) - mark_as_advanced(ALSOFT_BACKEND_PIPEWIRE) - mark_as_advanced(ALSOFT_BACKEND_PORTAUDIO) - mark_as_advanced(ALSOFT_BACKEND_PULSEAUDIO) - mark_as_advanced(ALSOFT_BACKEND_SDL2) - mark_as_advanced(ALSOFT_BACKEND_WASAPI) - mark_as_advanced(ALSOFT_BACKEND_WAVE) - mark_as_advanced(ALSOFT_BACKEND_WINMM) + advanced_option(ALSOFT_BACKEND_COREAUDIO "Enable CoreAudio backend" OFF) + advanced_option(ALSOFT_BACKEND_DSOUND "Enable DirectSound backend" OFF) + advanced_option(ALSOFT_BACKEND_JACK "Enable Jack backend" OFF) + advanced_option(ALSOFT_BACKEND_OBOE "Enable OBOE backend" OFF) + advanced_option(ALSOFT_BACKEND_OPENSL "Enable OpenSL backend" OFF) + advanced_option(ALSOFT_BACKEND_PIPEWIRE "Enable PipeWire backend" OFF) + advanced_option(ALSOFT_BACKEND_PORTAUDIO "Enable PortAudio backend" OFF) + advanced_option(ALSOFT_BACKEND_PULSEAUDIO "Enable PulseAudio backend" OFF) + advanced_option(ALSOFT_BACKEND_SDL2 "Use SDL2 Backend" ON) + advanced_option(ALSOFT_BACKEND_WASAPI "Enable WASAPI backend" OFF) + advanced_option(ALSOFT_BACKEND_WAVE "Enable Wave backend" OFF) + advanced_option(ALSOFT_BACKEND_WINMM "Enable WinMM backend" OFF) mark_as_advanced(ALSOFT_BUILD_ROUTER) mark_as_advanced(ALSOFT_CPUEXT_NEON) mark_as_advanced(ALSOFT_CPUEXT_SSE) @@ -221,7 +221,7 @@ if(TORQUE_SFX_OPENAL) mark_as_advanced(ALSOFT_EAX) advanced_option(ALSOFT_EMBED_HRTF_DATA "Embed the HRTF data files (increases library footprint)" OFF) advanced_option(ALSOFT_EXAMPLES "Build example programs" OFF) - mark_as_advanced(ALSOFT_INSTALL) + advanced_option(ALSOFT_INSTALL "Install OpenAL" OFF) # we move it ourselves advanced_option(ALSOFT_INSTALL_CONFIG "Install alsoft.conf sample configuration file" OFF) advanced_option(ALSOFT_INSTALL_HRTF_DATA "Install HRTF data files" OFF) advanced_option(ALSOFT_INSTALL_AMBDEC_PRESETS "Install AmbDec preset files" OFF) diff --git a/Engine/lib/openal-soft/CMakeLists.txt b/Engine/lib/openal-soft/CMakeLists.txt index e8c0607f9..a45488a36 100644 --- a/Engine/lib/openal-soft/CMakeLists.txt +++ b/Engine/lib/openal-soft/CMakeLists.txt @@ -82,7 +82,7 @@ set(DEFAULT_TARGET_PROPS # Prefer C11, but support C99 and earlier when possible. C_STANDARD 11) -set(CMAKE_MODULE_PATH "${OpenAL_SOURCE_DIR}/cmake") +list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") include(CheckFunctionExists) include(CheckLibraryExists) diff --git a/Tools/CMake/finders/FindSDL2.cmake b/Tools/CMake/finders/FindSDL2.cmake new file mode 100644 index 000000000..6a8d1b635 --- /dev/null +++ b/Tools/CMake/finders/FindSDL2.cmake @@ -0,0 +1,13 @@ +if(TARGET SDL2) + set(SDL2_FOUND TRUE) + set(SDL2_INCLUDE_DIRS $) + set(SDL2_LIBRARIES SDL2) + + # Provide a modern CMake alias + if(NOT TARGET SDL2::SDL2) + add_library(SDL2::SDL2 ALIAS SDL2) + endif() +else() + set(SDL2_FOUND FALSE) + message(FATAL_ERROR "SDL2 was not added with add_subdirectory before calling find_package(SDL2).") +endif() \ No newline at end of file From 906484cf222b9f1cb75b202e31640dc826120d21 Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Tue, 20 May 2025 12:35:27 +0100 Subject: [PATCH 2/3] Update CMakeLists.txt --- Engine/lib/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Engine/lib/CMakeLists.txt b/Engine/lib/CMakeLists.txt index 2d3698a90..687508483 100644 --- a/Engine/lib/CMakeLists.txt +++ b/Engine/lib/CMakeLists.txt @@ -199,7 +199,7 @@ if(TORQUE_SFX_OPENAL) advanced_option(TORQUE_OGGVORBIS "Enable OGG Vorbis" ON) advanced_option(ALSOFT_EAX "Enable legacy EAX extensions" ${WIN32}) advanced_option(ALSOFT_UPDATE_BUILD_VERSION "Update git build version info" ON) - advanced_option(ALSOFT_BACKEND_COREAUDIO "Enable CoreAudio backend" OFF) + advanced_option(ALSOFT_BACKEND_COREAUDIO "Enable CoreAudio backend" ON) advanced_option(ALSOFT_BACKEND_DSOUND "Enable DirectSound backend" OFF) advanced_option(ALSOFT_BACKEND_JACK "Enable Jack backend" OFF) advanced_option(ALSOFT_BACKEND_OBOE "Enable OBOE backend" OFF) From 0dc61d214c9d5bc5f6b6df19d2e6130cc9f23ec0 Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Tue, 20 May 2025 13:08:01 +0100 Subject: [PATCH 3/3] Update CMakeLists.txt revert CoreAudio to default for mac build --- Engine/lib/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Engine/lib/CMakeLists.txt b/Engine/lib/CMakeLists.txt index 687508483..e027d05dd 100644 --- a/Engine/lib/CMakeLists.txt +++ b/Engine/lib/CMakeLists.txt @@ -199,7 +199,7 @@ if(TORQUE_SFX_OPENAL) advanced_option(TORQUE_OGGVORBIS "Enable OGG Vorbis" ON) advanced_option(ALSOFT_EAX "Enable legacy EAX extensions" ${WIN32}) advanced_option(ALSOFT_UPDATE_BUILD_VERSION "Update git build version info" ON) - advanced_option(ALSOFT_BACKEND_COREAUDIO "Enable CoreAudio backend" ON) + mark_as_advanced(ALSOFT_BACKEND_COREAUDIO) advanced_option(ALSOFT_BACKEND_DSOUND "Enable DirectSound backend" OFF) advanced_option(ALSOFT_BACKEND_JACK "Enable Jack backend" OFF) advanced_option(ALSOFT_BACKEND_OBOE "Enable OBOE backend" OFF)