mirror of
https://github.com/love2d/megasource.git
synced 2026-08-20 20:50:52 +02:00
update SDL3 to libsdl-org/SDL@038a380 (3.3 development)
This commit is contained in:
+113
-12
@@ -5,7 +5,7 @@ if(NOT DEFINED CMAKE_BUILD_TYPE)
|
||||
endif()
|
||||
|
||||
# See docs/release_checklist.md
|
||||
project(SDL3 LANGUAGES C VERSION "3.2.10")
|
||||
project(SDL3 LANGUAGES C VERSION "3.3.0")
|
||||
|
||||
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
set(SDL3_MAINPROJECT ON)
|
||||
@@ -67,15 +67,16 @@ find_package(PkgConfig)
|
||||
list(APPEND CMAKE_MODULE_PATH "${SDL3_SOURCE_DIR}/cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/macros.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/sdlchecks.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/sdlcommands.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/sdlcompilers.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/sdlcpu.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/sdlmanpages.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/sdlplatform.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/sdltargets.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/GetGitRevisionDescription.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/3rdparty.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/PreseedMSVCCache.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/PreseedEmscriptenCache.cmake")
|
||||
include("${SDL3_SOURCE_DIR}/cmake/PreseedNokiaNGageCache.cmake")
|
||||
|
||||
SDL_DetectCompiler()
|
||||
SDL_DetectTargetCPUArchitectures(SDL_CPUS)
|
||||
@@ -155,7 +156,7 @@ endif()
|
||||
# The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers,
|
||||
# so we'll just use libusb when it's available. libusb does not support iOS,
|
||||
# so we default to yes on iOS.
|
||||
if(IOS OR TVOS OR VISIONOS OR WATCHOS OR ANDROID)
|
||||
if(IOS OR TVOS OR VISIONOS OR WATCHOS OR ANDROID OR NGAGE)
|
||||
set(SDL_HIDAPI_LIBUSB_AVAILABLE FALSE)
|
||||
else()
|
||||
set(SDL_HIDAPI_LIBUSB_AVAILABLE TRUE)
|
||||
@@ -219,7 +220,7 @@ if(EMSCRIPTEN)
|
||||
set(SDL_SHARED_AVAILABLE OFF)
|
||||
endif()
|
||||
|
||||
if(VITA OR PSP OR PS2 OR N3DS OR RISCOS)
|
||||
if(VITA OR PSP OR PS2 OR N3DS OR RISCOS OR NGAGE)
|
||||
set(SDL_SHARED_AVAILABLE OFF)
|
||||
endif()
|
||||
|
||||
@@ -357,6 +358,7 @@ dep_option(SDL_X11_XRANDR "Enable Xrandr support" "${SDL_X11_XRANDR_DEF
|
||||
dep_option(SDL_X11_XSCRNSAVER "Enable Xscrnsaver support" ON SDL_X11 OFF)
|
||||
dep_option(SDL_X11_XSHAPE "Enable XShape support" ON SDL_X11 OFF)
|
||||
dep_option(SDL_X11_XSYNC "Enable Xsync support" ON SDL_X11 OFF)
|
||||
dep_option(SDL_X11_XTEST "Enable XTest support" ON SDL_X11 OFF)
|
||||
dep_option(SDL_WAYLAND "Use Wayland video driver" ${UNIX_SYS} "SDL_VIDEO" OFF)
|
||||
dep_option(SDL_WAYLAND_SHARED "Dynamically load Wayland support" ON "SDL_WAYLAND;SDL_DEPS_SHARED" OFF)
|
||||
dep_option(SDL_WAYLAND_LIBDECOR "Use client-side window decorations on Wayland" ON "SDL_WAYLAND" OFF)
|
||||
@@ -413,6 +415,24 @@ if(VITA)
|
||||
set_option(VIDEO_VITA_PVR "Build with PSVita PVR gles/gles2 support" OFF)
|
||||
endif()
|
||||
|
||||
if (NGAGE)
|
||||
set(SDL_GPU OFF)
|
||||
set(SDL_CAMERA OFF)
|
||||
set(SDL_JOYSTICK OFF)
|
||||
set(SDL_HAPTIC OFF)
|
||||
set(SDL_HIDAPI OFF)
|
||||
set(SDL_POWER OFF)
|
||||
set(SDL_SENSOR OFF)
|
||||
set(SDL_DIALOG OFF)
|
||||
set(SDL_DISKAUDIO OFF)
|
||||
set(SDL_DUMMYAUDIO OFF)
|
||||
set(SDL_DUMMYCAMERA OFF)
|
||||
set(SDL_DUMMYVIDEO OFF)
|
||||
set(SDL_OFFSCREEN OFF)
|
||||
set(SDL_RENDER_GPU OFF)
|
||||
set(SDL_VIRTUAL_JOYSTICK OFF)
|
||||
endif()
|
||||
|
||||
if(NOT (SDL_SHARED OR SDL_STATIC))
|
||||
message(FATAL_ERROR "SDL_SHARED and SDL_STATIC cannot both be disabled")
|
||||
endif()
|
||||
@@ -1103,6 +1123,8 @@ if(SDL_LIBC)
|
||||
check_symbol_exists(poll "poll.h" HAVE_POLL)
|
||||
check_symbol_exists(memfd_create "sys/mman.h" HAVE_MEMFD_CREATE)
|
||||
check_symbol_exists(posix_fallocate "fcntl.h" HAVE_POSIX_FALLOCATE)
|
||||
check_symbol_exists(posix_spawn_file_actions_addchdir "spawn.h" HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR)
|
||||
check_symbol_exists(posix_spawn_file_actions_addchdir_np "spawn.h" HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP)
|
||||
|
||||
if(SDL_SYSTEM_ICONV)
|
||||
check_c_source_compiles("
|
||||
@@ -1291,8 +1313,8 @@ if(ANDROID)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/android")
|
||||
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/android/*.c")
|
||||
sdl_sources("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c")
|
||||
set_property(SOURCE "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-declaration-after-statement")
|
||||
sdl_sources("${CMAKE_ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c")
|
||||
set_property(SOURCE "${CMAKE_ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-declaration-after-statement")
|
||||
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/misc/android/*.c")
|
||||
set(HAVE_SDL_MISC TRUE)
|
||||
@@ -1546,7 +1568,6 @@ elseif(EMSCRIPTEN)
|
||||
|
||||
#enable gles
|
||||
if(SDL_OPENGLES)
|
||||
set(SDL_VIDEO_OPENGL_EGL 1)
|
||||
set(HAVE_OPENGLES TRUE)
|
||||
set(SDL_VIDEO_OPENGL_ES2 1)
|
||||
set(SDL_VIDEO_RENDER_OGL_ES2 1)
|
||||
@@ -1734,6 +1755,7 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU)
|
||||
sdl_sources(
|
||||
"${SDL3_SOURCE_DIR}/src/core/linux/SDL_dbus.c"
|
||||
"${SDL3_SOURCE_DIR}/src/core/linux/SDL_system_theme.c"
|
||||
"${SDL3_SOURCE_DIR}/src/core/linux/SDL_progressbar.c"
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -1891,11 +1913,13 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU)
|
||||
set (USE_POSIX_SPAWN 1)
|
||||
endif()
|
||||
elseif(WINDOWS)
|
||||
enable_language(CXX)
|
||||
check_c_source_compiles("
|
||||
#include <windows.h>
|
||||
int main(int argc, char **argv) { return 0; }" HAVE_WIN32_CC)
|
||||
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/windows/*.c")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/windows/*.cpp")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/main/windows/*.c")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/io/windows/*.c")
|
||||
|
||||
@@ -1978,6 +2002,7 @@ elseif(WINDOWS)
|
||||
check_include_file(audioclient.h HAVE_AUDIOCLIENT_H)
|
||||
check_include_file(sensorsapi.h HAVE_SENSORSAPI_H)
|
||||
check_include_file(shellscalingapi.h HAVE_SHELLSCALINGAPI_H)
|
||||
check_include_file(shobjidl_core.h HAVE_SHOBJIDL_CORE_H)
|
||||
check_c_source_compiles("
|
||||
#include <windows.h>
|
||||
#include <mfapi.h>
|
||||
@@ -2005,6 +2030,7 @@ elseif(WINDOWS)
|
||||
if(SDL_VIDEO)
|
||||
set(SDL_VIDEO_DRIVER_WINDOWS 1)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/windows/*.c")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/windows/*.cpp")
|
||||
|
||||
CheckOpenVR()
|
||||
|
||||
@@ -2132,7 +2158,7 @@ elseif(WINDOWS)
|
||||
set(SDL_JOYSTICK_WGI 1)
|
||||
endif()
|
||||
if(HAVE_GAMEINPUT_H)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/gdk/*.c")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/gdk/*.cpp")
|
||||
set(SDL_JOYSTICK_GAMEINPUT 1)
|
||||
endif()
|
||||
set(HAVE_SDL_JOYSTICK TRUE)
|
||||
@@ -2924,6 +2950,81 @@ elseif(N3DS)
|
||||
set(HAVE_SDL_LOCALE TRUE)
|
||||
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/io/n3ds/*.c")
|
||||
|
||||
elseif(NGAGE)
|
||||
|
||||
enable_language(CXX)
|
||||
|
||||
set(SDL_MAIN_USE_CALLBACKS 1)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/main/ngage/*.c")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/main/ngage/*.cpp")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/ngage/*.cpp")
|
||||
set(HAVE_SDL_MAIN_CALLBACKS TRUE)
|
||||
|
||||
if(SDL_AUDIO)
|
||||
set(SDL_AUDIO_DRIVER_NGAGE 1)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/ngage/*.c")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/ngage/*.cpp")
|
||||
set(HAVE_SDL_AUDIO TRUE)
|
||||
endif()
|
||||
|
||||
set(SDL_FILESYSTEM_NGAGE 1)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/ngage/*.c")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/ngage/*.cpp")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/posix/*.c")
|
||||
set(HAVE_SDL_FILESYSTEM TRUE)
|
||||
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/locale/ngage/*.cpp")
|
||||
|
||||
if(SDL_RENDER)
|
||||
set(SDL_VIDEO_RENDER_NGAGE 1)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/render/ngage/*.c")
|
||||
endif()
|
||||
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/time/ngage/*.cpp")
|
||||
set(SDL_TIME_NGAGE 1)
|
||||
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/render/ngage/*.cpp")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/time/unix/*.c")
|
||||
|
||||
set(SDL_TIMER_NGAGE 1)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/timer/ngage/*.cpp")
|
||||
|
||||
set(SDL_FSOPS_POSIX 1)
|
||||
|
||||
set(SDL_VIDEO_DRIVER_NGAGE 1)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/ngage/*.c")
|
||||
set(HAVE_SDL_TIMERS TRUE)
|
||||
|
||||
set_option(SDL_LEAN_AND_MEAN "Enable lean and mean" ON)
|
||||
if(SDL_LEAN_AND_MEAN)
|
||||
sdl_compile_definitions(
|
||||
PRIVATE
|
||||
SDL_LEAN_AND_MEAN
|
||||
)
|
||||
endif()
|
||||
|
||||
sdl_link_dependency(ngage
|
||||
LINK_OPTIONS "SHELL:-s MAIN_COMPAT=0"
|
||||
PKG_CONFIG_LINK_OPTIONS "-s;MAIN_COMPAT=0"
|
||||
LIBS
|
||||
NRenderer
|
||||
3dtypes
|
||||
cone
|
||||
libgcc
|
||||
libgcc_ngage
|
||||
mediaclientaudiostream
|
||||
charconv
|
||||
bitgdi
|
||||
euser
|
||||
estlib
|
||||
ws32
|
||||
hal
|
||||
fbscli
|
||||
efsrv
|
||||
scdv
|
||||
gdi
|
||||
)
|
||||
endif()
|
||||
|
||||
sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/SDL_dialog.c)
|
||||
@@ -3017,7 +3118,7 @@ if(SDL_GPU)
|
||||
set(SDL_GPU_D3D11 1)
|
||||
set(HAVE_SDL_GPU TRUE)
|
||||
endif()
|
||||
if(SDL_RENDER_D3D12)
|
||||
if(WINDOWS)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/gpu/d3d12/*.c")
|
||||
set(SDL_GPU_D3D12 1)
|
||||
set(HAVE_SDL_GPU TRUE)
|
||||
@@ -3104,8 +3205,8 @@ endif()
|
||||
|
||||
# We always need to have threads and timers around
|
||||
if(NOT HAVE_SDL_THREADS)
|
||||
# The emscripten platform has been carefully vetted to work without threads
|
||||
if(EMSCRIPTEN)
|
||||
# The Emscripten and N-Gage platform has been carefully vetted to work without threads
|
||||
if(EMSCRIPTEN OR NGAGE)
|
||||
set(SDL_THREADS_DISABLED 1)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/thread/generic/*.c")
|
||||
else()
|
||||
@@ -3288,7 +3389,7 @@ else()
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
sdl_include_directories(PRIVATE SYSTEM "${ANDROID_NDK}/sources/android/cpufeatures")
|
||||
sdl_include_directories(PRIVATE SYSTEM "${CMAKE_ANDROID_NDK}/sources/android/cpufeatures")
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
|
||||
Reference in New Issue
Block a user