|
@@ -101,10 +101,37 @@ elseif ("${PLATFORM}" MATCHES "DRM")
|
|
|
set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} atomic pthread m dl)
|
|
|
|
|
|
elseif ("${PLATFORM}" MATCHES "SDL")
|
|
|
- find_package(SDL2 REQUIRED)
|
|
|
- set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL")
|
|
|
- set(LIBS_PRIVATE SDL2::SDL2)
|
|
|
-
|
|
|
+ # First, check if SDL is included as a subdirectory
|
|
|
+ if(TARGET SDL3::SDL3)
|
|
|
+ message(STATUS "Using SDL3 from subdirectory")
|
|
|
+ set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL")
|
|
|
+ set(LIBS_PRIVATE SDL3::SDL3)
|
|
|
+ add_compile_definitions(USING_SDL3_PROJECT)
|
|
|
+ elseif(TARGET SDL2::SDL2)
|
|
|
+ message(STATUS "Using SDL2 from subdirectory")
|
|
|
+ set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL")
|
|
|
+ set(LIBS_PRIVATE SDL2::SDL2)
|
|
|
+ add_compile_definitions(USING_SDL2_PROJECT)
|
|
|
+ else()
|
|
|
+ # No SDL added via add_subdirectory(), try find_package()
|
|
|
+ message(STATUS "No SDL target from subdirectory, searching via find_package()...")
|
|
|
+
|
|
|
+ # First try SDL3
|
|
|
+ find_package(SDL3 QUIET)
|
|
|
+ if(SDL3_FOUND)
|
|
|
+ message(STATUS "Found SDL3 via find_package()")
|
|
|
+ set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL")
|
|
|
+ set(LIBS_PRIVATE SDL3::SDL3)
|
|
|
+ add_compile_definitions(USING_SDL3_PACKAGE)
|
|
|
+ else()
|
|
|
+ # Fallback to SDL2
|
|
|
+ find_package(SDL2 REQUIRED)
|
|
|
+ message(STATUS "Found SDL2 via find_package()")
|
|
|
+ set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL")
|
|
|
+ set(LIBS_PRIVATE SDL2::SDL2)
|
|
|
+ add_compile_definitions(USING_SDL2_PACKAGE)
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
endif ()
|
|
|
|
|
|
if (NOT ${OPENGL_VERSION} MATCHES "OFF")
|