mirror of
https://github.com/love2d/megasource.git
synced 2026-08-17 19:24:09 +02:00
update SDL3 to libsdl-org/SDL@038a380 (3.3 development)
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
macro(check_c_source_compiles_static SOURCE VAR)
|
||||
set(saved_CMAKE_TRY_COMPILE_TARGET_TYPE "${CMAKE_TRY_COMPILE_TARGET_TYPE}")
|
||||
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
|
||||
check_c_source_compiles("${SOURCE}" ${VAR} ${ARGN})
|
||||
set(CMAKE_TRY_COMPILE_TARGET_TYPE "${saved_CMAKE_TRY_COMPILE_TARGET_TYPE}")
|
||||
endmacro()
|
||||
|
||||
macro(FindLibraryAndSONAME _LIB)
|
||||
cmake_parse_arguments(_FLAS "" "" "LIBDIRS" ${ARGN})
|
||||
|
||||
@@ -274,10 +281,11 @@ macro(CheckX11)
|
||||
set(Xrandr_PKG_CONFIG_SPEC xrandr)
|
||||
set(Xrender_PKG_CONFIG_SPEC xrender)
|
||||
set(Xss_PKG_CONFIG_SPEC xscrnsaver)
|
||||
set(Xtst_PKG_CONFIG_SPEC xtst)
|
||||
|
||||
find_package(X11)
|
||||
|
||||
foreach(_LIB X11 Xext Xcursor Xi Xfixes Xrandr Xrender Xss)
|
||||
foreach(_LIB X11 Xext Xcursor Xi Xfixes Xrandr Xrender Xss Xtst)
|
||||
get_filename_component(_libdir "${X11_${_LIB}_LIB}" DIRECTORY)
|
||||
FindLibraryAndSONAME("${_LIB}" LIBDIRS ${_libdir})
|
||||
endforeach()
|
||||
@@ -310,6 +318,7 @@ macro(CheckX11)
|
||||
find_file(HAVE_XSYNC_H NAMES "X11/extensions/sync.h" HINTS "${X11_INCLUDEDIR}")
|
||||
find_file(HAVE_XSS_H NAMES "X11/extensions/scrnsaver.h" HINTS "${X11_INCLUDEDIR}")
|
||||
find_file(HAVE_XSHAPE_H NAMES "X11/extensions/shape.h" HINTS "${X11_INCLUDEDIR}")
|
||||
find_file(HAVE_XTEST_H NAMES "X11/extensions/XTest.h" HINTS "${X11_INCLUDEDIR}")
|
||||
find_file(HAVE_XDBE_H NAMES "X11/extensions/Xdbe.h" HINTS "${X11_INCLUDEDIR}")
|
||||
find_file(HAVE_XEXT_H NAMES "X11/extensions/Xext.h" HINTS "${X11_INCLUDEDIR}")
|
||||
|
||||
@@ -367,7 +376,7 @@ macro(CheckX11)
|
||||
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES ${X11_LIB})
|
||||
|
||||
check_c_source_compiles("
|
||||
check_c_source_compiles_static("
|
||||
#include <X11/Xlib.h>
|
||||
int main(int argc, char **argv) {
|
||||
Display *display;
|
||||
@@ -408,7 +417,7 @@ macro(CheckX11)
|
||||
set(SDL_VIDEO_DRIVER_X11_XINPUT2 1)
|
||||
|
||||
# Check for multitouch
|
||||
check_c_source_compiles("
|
||||
check_c_source_compiles_static("
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xproto.h>
|
||||
#include <X11/extensions/XInput2.h>
|
||||
@@ -425,7 +434,7 @@ macro(CheckX11)
|
||||
|
||||
# check along with XInput2.h because we use Xfixes with XIBarrierReleasePointer
|
||||
if(SDL_X11_XFIXES AND HAVE_XFIXES_H_ AND HAVE_XINPUT2_H)
|
||||
check_c_source_compiles("
|
||||
check_c_source_compiles_static("
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xproto.h>
|
||||
#include <X11/extensions/XInput2.h>
|
||||
@@ -472,6 +481,16 @@ macro(CheckX11)
|
||||
set(SDL_VIDEO_DRIVER_X11_XSHAPE 1)
|
||||
set(HAVE_X11_XSHAPE TRUE)
|
||||
endif()
|
||||
|
||||
if(SDL_X11_XTEST AND HAVE_XTEST_H AND XTST_LIB)
|
||||
if(HAVE_X11_SHARED)
|
||||
set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XTEST "\"${XTST_LIB_SONAME}\"")
|
||||
else()
|
||||
sdl_link_dependency(xtst LIBS X11::Xtst CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xtst_PKG_CONFIG_SPEC})
|
||||
endif()
|
||||
set(SDL_VIDEO_DRIVER_X11_XTEST 1)
|
||||
set(HAVE_X11_XTEST TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(NOT HAVE_X11)
|
||||
@@ -575,6 +594,18 @@ macro(CheckWayland)
|
||||
sdl_link_dependency(wayland LIBS PkgConfig::PC_WAYLAND PKG_CONFIG_PREFIX PC_WAYLAND PKG_CONFIG_SPECS ${WAYLAND_PKG_CONFIG_SPEC})
|
||||
endif()
|
||||
|
||||
# xkbcommon doesn't provide internal version defines, so generate them here.
|
||||
if (PC_WAYLAND_xkbcommon_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)")
|
||||
set(SDL_XKBCOMMON_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||
set(SDL_XKBCOMMON_VERSION_MINOR ${CMAKE_MATCH_2})
|
||||
set(SDL_XKBCOMMON_VERSION_PATCH ${CMAKE_MATCH_3})
|
||||
else()
|
||||
message(WARNING "Failed to parse xkbcommon version; defaulting to lowest supported (0.5.0)")
|
||||
set(SDL_XKBCOMMON_VERSION_MAJOR 0)
|
||||
set(SDL_XKBCOMMON_VERSION_MINOR 5)
|
||||
set(SDL_XKBCOMMON_VERSION_PATCH 0)
|
||||
endif()
|
||||
|
||||
if(SDL_WAYLAND_LIBDECOR)
|
||||
set(LibDecor_PKG_CONFIG_SPEC libdecor-0)
|
||||
pkg_check_modules(PC_LIBDECOR IMPORTED_TARGET ${LibDecor_PKG_CONFIG_SPEC})
|
||||
@@ -795,7 +826,7 @@ endmacro()
|
||||
macro(CheckPTHREAD)
|
||||
cmake_push_check_state()
|
||||
if(SDL_PTHREADS)
|
||||
if(ANDROID)
|
||||
if(ANDROID OR SDL_PTHREADS_PRIVATE)
|
||||
# the android libc provides built-in support for pthreads, so no
|
||||
# additional linking or compile flags are necessary
|
||||
elseif(LINUX)
|
||||
@@ -1085,7 +1116,7 @@ macro(CheckHIDAPI)
|
||||
if(LibUSB_FOUND)
|
||||
cmake_push_check_state()
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES LibUSB::LibUSB)
|
||||
check_c_source_compiles("
|
||||
check_c_source_compiles_static("
|
||||
#include <stddef.h>
|
||||
#include <libusb.h>
|
||||
int main(int argc, char **argv) {
|
||||
@@ -1124,6 +1155,7 @@ macro(CheckHIDAPI)
|
||||
set(HAVE_SDL_JOYSTICK TRUE)
|
||||
set(HAVE_HIDAPI_JOYSTICK TRUE)
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/hidapi/*.c")
|
||||
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/haptic/hidapi/*.c")
|
||||
endif()
|
||||
else()
|
||||
set(SDL_HIDAPI_DISABLED 1)
|
||||
|
||||
Reference in New Issue
Block a user