forked from Green-Sky/tomato
sdl (master post 3.1 preview) Merge commit 'e4f454091a943345938608570b104400f62fd625'
This commit is contained in:
53
external/sdl/SDL/cmake/sdlchecks.cmake
vendored
53
external/sdl/SDL/cmake/sdlchecks.cmake
vendored
@@ -557,9 +557,20 @@ macro(CheckWayland)
|
||||
set(LibDecor_PKG_CONFIG_SPEC libdecor-0)
|
||||
pkg_check_modules(PC_LIBDECOR IMPORTED_TARGET ${LibDecor_PKG_CONFIG_SPEC})
|
||||
if(PC_LIBDECOR_FOUND)
|
||||
# Version 0.2.0 or higher is needed for suspended window state and statically linked min/max getters.
|
||||
|
||||
# Libdecor doesn't provide internal version defines, so generate them here.
|
||||
if (PC_LIBDECOR_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)")
|
||||
set(SDL_LIBDECOR_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||
set(SDL_LIBDECOR_VERSION_MINOR ${CMAKE_MATCH_2})
|
||||
set(SDL_LIBDECOR_VERSION_PATCH ${CMAKE_MATCH_3})
|
||||
else()
|
||||
message(WARNING "Failed to parse libdecor version; defaulting to lowest supported (0.1.0)")
|
||||
set(SDL_LIBDECOR_VERSION_MAJOR 0)
|
||||
set(SDL_LIBDECOR_VERSION_MINOR 1)
|
||||
set(SDL_LIBDECOR_VERSION_PATCH 0)
|
||||
endif()
|
||||
|
||||
if(PC_LIBDECOR_VERSION VERSION_GREATER_EQUAL "0.2.0")
|
||||
set(SDL_HAVE_LIBDECOR_VER_0_2_0 1)
|
||||
set(LibDecor_PKG_CONFIG_SPEC "libdecor-0>=0.2.0")
|
||||
endif()
|
||||
set(HAVE_WAYLAND_LIBDECOR TRUE)
|
||||
@@ -652,6 +663,7 @@ macro(CheckEGL)
|
||||
cmake_push_check_state()
|
||||
find_package(OpenGL MODULE)
|
||||
list(APPEND CMAKE_REQUIRED_INCLUDES ${OPENGL_EGL_INCLUDE_DIRS})
|
||||
list(APPEND CMAKE_REQUIRED_INCLUDES "${SDL3_SOURCE_DIR}/src/video/khronos")
|
||||
check_c_source_compiles("
|
||||
#define EGL_API_FB
|
||||
#define MESA_EGL_NO_X11_HEADERS
|
||||
@@ -686,18 +698,21 @@ endmacro()
|
||||
# - nada
|
||||
macro(CheckOpenGLES)
|
||||
if(SDL_OPENGLES)
|
||||
cmake_push_check_state()
|
||||
list(APPEND CMAKE_REQUIRED_INCLUDES "${SDL3_SOURCE_DIR}/src/video/khronos")
|
||||
check_c_source_compiles("
|
||||
#include <GLES/gl.h>
|
||||
#include <GLES/glext.h>
|
||||
int main (int argc, char** argv) { return 0; }" HAVE_OPENGLES_V1)
|
||||
if(HAVE_OPENGLES_V1)
|
||||
set(HAVE_OPENGLES TRUE)
|
||||
set(SDL_VIDEO_OPENGL_ES 1)
|
||||
endif()
|
||||
check_c_source_compiles("
|
||||
#include <GLES2/gl2.h>
|
||||
#include <GLES2/gl2ext.h>
|
||||
int main (int argc, char** argv) { return 0; }" HAVE_OPENGLES_V2)
|
||||
cmake_pop_check_state()
|
||||
if(HAVE_OPENGLES_V1)
|
||||
set(HAVE_OPENGLES TRUE)
|
||||
set(SDL_VIDEO_OPENGL_ES 1)
|
||||
endif()
|
||||
if(HAVE_OPENGLES_V2)
|
||||
set(HAVE_OPENGLES TRUE)
|
||||
set(SDL_VIDEO_OPENGL_ES2 1)
|
||||
@@ -710,6 +725,10 @@ macro(CheckVulkan)
|
||||
if(SDL_VULKAN)
|
||||
set(SDL_VIDEO_VULKAN 1)
|
||||
set(HAVE_VULKAN TRUE)
|
||||
if(SDL_RENDER_VULKAN)
|
||||
set(SDL_VIDEO_RENDER_VULKAN 1)
|
||||
set(HAVE_RENDER_VULKAN TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
@@ -737,7 +756,7 @@ endmacro()
|
||||
# PTHREAD_LIBS
|
||||
macro(CheckPTHREAD)
|
||||
cmake_push_check_state()
|
||||
if(SDL_THREADS AND SDL_PTHREADS)
|
||||
if(SDL_PTHREADS)
|
||||
if(ANDROID)
|
||||
# the android libc provides built-in support for pthreads, so no
|
||||
# additional linking or compile flags are necessary
|
||||
@@ -1020,13 +1039,10 @@ macro(CheckHIDAPI)
|
||||
set(HAVE_HIDAPI ON)
|
||||
if(SDL_HIDAPI_LIBUSB)
|
||||
set(HAVE_LIBUSB FALSE)
|
||||
|
||||
set(LibUSB_PKG_CONFIG_SPEC libusb-1.0>=1.0.16)
|
||||
pkg_check_modules(PC_LIBUSB IMPORTED_TARGET ${LibUSB_PKG_CONFIG_SPEC})
|
||||
if(PC_LIBUSB_FOUND)
|
||||
find_package(LibUSB)
|
||||
if(LibUSB_FOUND)
|
||||
cmake_push_check_state()
|
||||
list(APPEND CMAKE_REQUIRED_INCLUDES ${PC_LIBUSB_INCLUDE_DIRS})
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES PkgConfig::PC_LIBUSB)
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES LibUSB::LibUSB)
|
||||
check_c_source_compiles("
|
||||
#include <stddef.h>
|
||||
#include <libusb.h>
|
||||
@@ -1037,13 +1053,13 @@ macro(CheckHIDAPI)
|
||||
cmake_pop_check_state()
|
||||
if(HAVE_LIBUSB_H)
|
||||
set(HAVE_LIBUSB TRUE)
|
||||
FindLibraryAndSONAME("usb-1.0" LIBDIRS ${PC_LIBUSB_LIBRARY_DIRS})
|
||||
if(SDL_HIDAPI_LIBUSB_SHARED AND USB_1.0_LIB_SONAME)
|
||||
target_get_dynamic_library(dynamic_libusb LibUSB::LibUSB)
|
||||
if(SDL_HIDAPI_LIBUSB_SHARED AND dynamic_libusb)
|
||||
set(HAVE_HIDAPI_LIBUSB_SHARED ON)
|
||||
set(SDL_LIBUSB_DYNAMIC "\"${USB_1.0_LIB_SONAME}\"")
|
||||
sdl_link_dependency(hidapi INCLUDES $<TARGET_PROPERTY:PkgConfig::PC_LIBUSB,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
set(SDL_LIBUSB_DYNAMIC "\"${dynamic_libusb}\"")
|
||||
sdl_link_dependency(hidapi INCLUDES $<TARGET_PROPERTY:LibUSB::LibUSB,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
else()
|
||||
sdl_link_dependency(hidapi LIBS PkgConfig::PC_LIBUSB PKG_CONFIG_PREFIX PC_LIBUSB PKG_CONFIG_SPECS ${LibUSB_PKG_CONFIG_SPEC})
|
||||
sdl_link_dependency(hidapi LIBS LibUSB::LibUSB PKG_CONFIG_SPECS "${LibUSB_PKG_CONFIG_SPEC}" CMAKE_MODULE LibUSB)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -1052,6 +1068,7 @@ macro(CheckHIDAPI)
|
||||
|
||||
if(HAVE_HIDAPI)
|
||||
if(ANDROID)
|
||||
enable_language(CXX)
|
||||
sdl_sources("${SDL3_SOURCE_DIR}/src/hidapi/android/hid.cpp")
|
||||
endif()
|
||||
if(IOS OR TVOS)
|
||||
|
||||
Reference in New Issue
Block a user