Skip to content

Commit

Permalink
CMake: Do not autoselect between SDL3,2,1 anymore
Browse files Browse the repository at this point in the history
  • Loading branch information
Ghabry committed Jan 22, 2025
1 parent 13e106e commit a9c9264
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -564,7 +564,7 @@ elseif(NINTENDO_WIIU)
elseif(AMIGA)
set(PLAYER_TARGET_PLATFORM "SDL1" CACHE STRING "Platform to compile for.")
else()
set(PLAYER_TARGET_PLATFORM "SDL3" CACHE STRING "Platform to compile for. Options: SDL3 SDL2 SDL1 libretro")
set(PLAYER_TARGET_PLATFORM "Unset" CACHE STRING "Platform to compile for. Options: SDL3 SDL2 SDL1 libretro")
set_property(CACHE PLAYER_TARGET_PLATFORM PROPERTY STRINGS SDL3 SDL2 SDL1 libretro)
endif()
set(PLAYER_BUILD_EXECUTABLE ON)
Expand All @@ -579,7 +579,10 @@ if(ANDROID AND PLAYER_GRADLE_BUILD)
endforeach(f)
endif()

if(${PLAYER_TARGET_PLATFORM} STREQUAL "SDL3")
if(${PLAYER_TARGET_PLATFORM} STREQUAL "Unset")
get_property(PLAT_PROP CACHE PLAYER_TARGET_PLATFORM PROPERTY STRINGS)
message(FATAL_ERROR "Please specify the target platform with -DPLAYER_TARGET_PLATFORM.\nOptions: ${PLAT_PROP}")
elseif(${PLAYER_TARGET_PLATFORM} STREQUAL "SDL3")
target_sources(${PROJECT_NAME} PRIVATE
src/platform/sdl/sdl3_ui.cpp
src/platform/sdl/sdl3_ui.h)
Expand Down Expand Up @@ -714,9 +717,7 @@ else()
endif()

# Sound system to use
if(PLAYER_AUDIO_BACKEND)
# already set earlier in the platform config
elseif(${PLAYER_TARGET_PLATFORM} STREQUAL "SDL3")
if(${PLAYER_TARGET_PLATFORM} STREQUAL "SDL3")
set(PLAYER_AUDIO_BACKEND "SDL3" CACHE STRING "Audio system to use. Options: SDL3 OFF")
set_property(CACHE PLAYER_AUDIO_BACKEND PROPERTY STRINGS SDL3 OFF)
elseif(${PLAYER_TARGET_PLATFORM} STREQUAL "SDL2")
Expand All @@ -735,6 +736,7 @@ else()
set_property(CACHE PLAYER_AUDIO_BACKEND PROPERTY STRINGS ${PLAYER_TARGET_PLATFORM} OFF)
endif()

get_property(AUDIO_PROP CACHE PLAYER_AUDIO_BACKEND PROPERTY STRINGS)
set(PLAYER_HAS_AUDIO ON)
if(${PLAYER_AUDIO_BACKEND} STREQUAL "SDL3")
target_sources(${PROJECT_NAME} PRIVATE
Expand All @@ -758,7 +760,11 @@ elseif(${PLAYER_AUDIO_BACKEND} STREQUAL ${PLAYER_TARGET_PLATFORM})
elseif(${PLAYER_AUDIO_BACKEND} STREQUAL "OFF")
set(PLAYER_HAS_AUDIO OFF)
else()
message(FATAL_ERROR "Invalid Audio Backend ${PLAYER_AUDIO_BACKEND}")
message(FATAL_ERROR "Invalid Audio Backend ${PLAYER_AUDIO_BACKEND}\nOptions: ${AUDIO_PROP}")
endif()

if(NOT PLAYER_AUDIO_BACKEND IN_LIST AUDIO_PROP)
message(FATAL_ERROR "Incompatible audio backend configuration ${PLAYER_AUDIO_BACKEND}.\nPlease clear the CMake cache.\nOptions: ${AUDIO_PROP}")
endif()

# Shared by homebrew platforms
Expand Down

0 comments on commit a9c9264

Please sign in to comment.