aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt22
1 files changed, 21 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd531128..0c6196f1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -759,6 +759,7 @@ SET(HAVE_PULSEAUDIO 0)
SET(HAVE_COREAUDIO 0)
SET(HAVE_OPENSL 0)
SET(HAVE_WAVE 0)
+SET(HAVE_SDL2 0)
# Check for SSE support
OPTION(ALSOFT_REQUIRE_SSE "Require SSE support" OFF)
@@ -1123,6 +1124,23 @@ IF(ALSOFT_REQUIRE_OPENSL AND NOT HAVE_OPENSL)
MESSAGE(FATAL_ERROR "Failed to enabled required OpenSL backend")
ENDIF()
+# Check for SDL2 backend
+OPTION(ALSOFT_REQUIRE_SDL2 "Require SDL2 backend" OFF)
+FIND_PACKAGE(SDL2)
+IF(SDL2_FOUND)
+ # Off by default, since it adds a runtime dependency
+ OPTION(ALSOFT_BACKEND_SDL2 "Enable SDL2 backend" OFF)
+ IF(ALSOFT_BACKEND_SDL2)
+ SET(HAVE_SDL2 1)
+ SET(ALC_OBJS ${ALC_OBJS} Alc/backends/sdl2.c)
+ SET(BACKENDS "${BACKENDS} SDL2,")
+ SET(EXTRA_LIBS ${SDL2_LIBRARY} ${EXTRA_LIBS})
+ ENDIF()
+ENDIF()
+IF(ALSOFT_REQUIRE_SDL2 AND NOT SDL2_FOUND)
+ MESSAGE(FATAL_ERROR "Failed to enabled required SDL2 backend")
+ENDIF()
+
# Optionally enable the Wave Writer backend
OPTION(ALSOFT_BACKEND_WAVE "Enable Wave Writer backend" ON)
IF(ALSOFT_BACKEND_WAVE)
@@ -1206,7 +1224,9 @@ IF(ALSOFT_UTILS AND NOT ALSOFT_NO_CONFIG_UTIL)
add_subdirectory(utils/alsoft-config)
ENDIF()
IF(ALSOFT_EXAMPLES)
- FIND_PACKAGE(SDL2)
+ IF(NOT SDL2_FOUND)
+ FIND_PACKAGE(SDL2)
+ ENDIF()
IF(SDL2_FOUND)
FIND_PACKAGE(SDL_sound)
FIND_PACKAGE(FFmpeg COMPONENTS AVFORMAT AVCODEC AVUTIL SWSCALE SWRESAMPLE)