[sdl2] Update to 2.0.14 (#15398)

* [sdl2] Update to 2.0.14

* Revert "[sdl2] Update to 2.0.14"

This reverts commit b8e82e0dac.

* [sdl2] Update to 2.0.14

* [sdl2] Fix manifest formatting

* [sdl2] Change the shared library preprocessor symbol name to DLL_EXPORT for compatibility with SDL 2.0.14

Co-authored-by: Rémy Tassoux <rt2@rasterizedworld.com>
This commit is contained in:
Rémy Tassoux 2021-01-05 21:33:13 +01:00 committed by GitHub
parent 109ce45742
commit 0a262e7d61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 49 additions and 327 deletions

View File

@ -57,7 +57,7 @@ if (APPLE)
)
endif()
set_target_properties(SDL2_image PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
set_target_properties(SDL2_image PROPERTIES DEFINE_SYMBOL DLL_EXPORT)
foreach(FORMAT ${SUPPORTED_FORMATS})
add_definitions(-DLOAD_${FORMAT})

View File

@ -103,7 +103,7 @@ if((WIN32 OR APPLE) AND SDL_MIXER_ENABLE_NATIVEMIDI)
endif()
endif()
set_target_properties(SDL2_mixer PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
set_target_properties(SDL2_mixer PROPERTIES DEFINE_SYMBOL DLL_EXPORT)
target_compile_definitions(SDL2_mixer PRIVATE ${SDL_MIXER_DEFINES} ${SDL_MIXER_LOAD_DEFINES})
target_include_directories(SDL2_mixer PRIVATE ${SDL_MIXER_INCLUDES} ./native_midi)

View File

@ -10,7 +10,7 @@ find_package(SDL2 CONFIG REQUIRED)
add_library(SDL2_net SDLnet.c SDLnetselect.c SDLnetTCP.c SDLnetUDP.c version.rc)
set_target_properties(SDL2_net PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
set_target_properties(SDL2_net PROPERTIES DEFINE_SYMBOL DLL_EXPORT)
target_compile_definitions(SDL2_net PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS)
target_include_directories(SDL2_net PRIVATE ${SDL_INCLUDE_DIR}/SDL2)

View File

@ -7,7 +7,7 @@ find_package(Freetype REQUIRED)
add_library(SDL2_ttf SDL_ttf.c version.rc)
set_target_properties(SDL2_ttf PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
set_target_properties(SDL2_ttf PROPERTIES DEFINE_SYMBOL DLL_EXPORT)
target_include_directories(SDL2_ttf PRIVATE ${SDL_INCLUDE_DIR}/SDL2 ${FREETYPE_INCLUDE_DIRS})
target_link_libraries(SDL2_ttf SDL2::SDL2 ${FREETYPE_LIBRARIES})

View File

@ -1,20 +1,14 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7dfd35389..7944f401b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1916,9 +1916,10 @@ listtostr(EXTRA_CFLAGS _EXTRA_CFLAGS)
set(EXTRA_CFLAGS ${_EXTRA_CFLAGS})
# Compat helpers for the configuration files
@@ -2086,7 +2086,6 @@
execute_process(COMMAND sh ${SDL2_SOURCE_DIR}/build-scripts/updaterev.sh
WORKING_DIRECTORY ${SDL2_BINARY_DIR})
endif()
-if(NOT WINDOWS OR CYGWIN)
# TODO: we need a Windows script, too
+ if(NOT WINDOWS OR CYGWIN)
execute_process(COMMAND sh ${SDL2_SOURCE_DIR}/build-scripts/updaterev.sh)
+ endif()
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix "\${prefix}")
@@ -1960,7 +1961,6 @@ if(NOT WINDOWS OR CYGWIN)
set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
@@ -2129,7 +2129,6 @@
"${SDL2_BINARY_DIR}/sdl2-config" @ONLY)
configure_file("${SDL2_SOURCE_DIR}/SDL2.spec.in"
"${SDL2_BINARY_DIR}/SDL2.spec" @ONLY)
@ -22,7 +16,7 @@ index 7dfd35389..7944f401b 100644
##### Info output #####
message(STATUS "")
@@ -2198,6 +2198,7 @@ if(NOT (WINDOWS OR CYGWIN))
@@ -2376,6 +2376,7 @@
# TODO: what about the .spec file? Is it only needed for RPM creation?
install(FILES "${SDL2_SOURCE_DIR}/sdl2.m4" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/aclocal")
endif()
@ -30,4 +24,3 @@ index 7dfd35389..7944f401b 100644
##### Uninstall target #####

View File

@ -1,7 +1,7 @@
--- CMakeLists.orig.txt 2020-10-28 09:08:51.925900284 +0100
+++ CMakeLists.txt 2020-10-28 09:09:10.034165780 +0100
@@ -1197,13 +1197,6 @@
list(APPEND EXTRA_LIBS ${DBUS_LIBRARIES})
@@ -1240,12 +1240,6 @@
set(HAVE_FCITX TRUE)
endif()
- pkg_search_module(IBUS ibus-1.0 ibus)
@ -9,8 +9,7 @@
- set(HAVE_IBUS_IBUS_H TRUE)
- include_directories(${IBUS_INCLUDE_DIRS})
- list(APPEND EXTRA_LIBS ${IBUS_LIBRARIES})
- add_definitions(-DSDL_USE_IME)
- endif()
if(HAVE_LIBUNWIND_H)
# We've already found the header, so REQUIRE the lib to be present
pkg_search_module(UNWIND REQUIRED libunwind)
if (HAVE_IBUS_IBUS_H OR HAVE_FCITX)
set(SDL_USE_IME TRUE)

View File

@ -0,0 +1,25 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1395,8 +1395,13 @@
endif()
endif()
+ if(WINDOWS_STORE)
+ file(GLOB WINRT_MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/winrt/*.cpp)
+ set(SOURCE_FILES ${SOURCE_FILES} ${WINRT_MISC_SOURCES})
+ else()
file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/windows/*.c)
set(SOURCE_FILES ${SOURCE_FILES} ${MISC_SOURCES})
+ endif()
set(HAVE_SDL_MISC TRUE)
# Check for DirectX
@@ -1522,7 +1522,7 @@
set(HAVE_SDL_THREADS TRUE)
endif()
- if(SDL_SENSOR AND HAVE_SENSORSAPI_H)
+ if(SDL_SENSOR AND HAVE_SENSORSAPI_H AND NOT WINDOWS_STORE)
set(SDL_SENSOR_WINDOWS 1)
set(HAVE_SDL_SENSORS TRUE)
file(GLOB WINDOWS_SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/windows/*.c)

View File

@ -1,11 +0,0 @@
--- CMakeLists.txt.orig 2020-11-05 16:48:40.000000000 -0800
+++ CMakeLists.txt 2020-11-05 16:49:02.000000000 -0800
@@ -1701,7 +1701,7 @@
if(VIDEO_VULKAN OR VIDEO_METAL OR RENDER_METAL)
set(ORIG_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -x objective-c")
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -ObjC")
check_c_source_compiles("
#include <AvailabilityMacros.h>
#import <Metal/Metal.h>

View File

@ -1,11 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -173,7 +173,7 @@
# so we'll just use libusb when it's available. libusb does not support iOS,
# so we default to yes on iOS.
# TODO: Windows can support libusb, the hid.c file just depends on Unix APIs
-if(WINDOWS OR IOS OR TVOS OR ANDROID)
+if((WINDOWS AND NOT WINDOWS_STORE) OR IOS OR TVOS OR ANDROID)
set(HIDAPI_SKIP_LIBUSB TRUE)
else()
set(HIDAPI_SKIP_LIBUSB FALSE)

View File

@ -1,12 +0,0 @@
diff -ur a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -772,7 +772,7 @@
set(HAVE_SIGNAL_H 1)
foreach(_FN
malloc calloc realloc free qsort abs memset memcpy memmove memcmp
- wcslen wcslcpy wcslcat wcsdup wcsstr wcscmp wcsncmp
+ wcslen wcsdup wcsstr wcscmp wcsncmp
strlen _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa
_ultoa strtol strtoul strtoll strtod atoi atof strcmp strncmp
_stricmp _strnicmp strtok_s sscanf

View File

@ -1,175 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0128c7a..bd534e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,18 @@
cmake_minimum_required(VERSION 2.8.11)
project(SDL2 C CXX)
+if(WINDOWS_STORE)
+ enable_language(CXX)
+ cmake_minimum_required(VERSION 3.11)
+ add_definitions(-DSDL_BUILDING_WINRT=1 -ZW)
+ link_libraries(
+ -nodefaultlib:vccorlib$<$<CONFIG:Debug>:d>
+ -nodefaultlib:msvcrt$<$<CONFIG:Debug>:d>
+ vccorlib$<$<CONFIG:Debug>:d>.lib
+ msvcrt$<$<CONFIG:Debug>:d>.lib
+ )
+endif()
+
# !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property
# !!! FIXME: for the SDL2 shared library (so you get an
# !!! FIXME: install_name ("soname") of "@rpath/libSDL-whatever.dylib"
@@ -1297,6 +1309,11 @@
file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c)
set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES})
+ if(WINDOWS_STORE)
+ file(GLOB WINRT_SOURCE_FILES ${SDL2_SOURCE_DIR}/src/core/winrt/*.c ${SDL2_SOURCE_DIR}/src/core/winrt/*.cpp)
+ list(APPEND SOURCE_FILES ${WINRT_SOURCE_FILES})
+ endif()
+
if(MSVC)
# Prevent codegen that would use the VC runtime libraries.
set_property(DIRECTORY . APPEND PROPERTY COMPILE_OPTIONS "/GS-")
@@ -1342,6 +1359,9 @@
check_include_file(ddraw.h HAVE_DDRAW_H)
check_include_file(dsound.h HAVE_DSOUND_H)
check_include_file(dinput.h HAVE_DINPUT_H)
+ if(WINDOWS_STORE OR VCPKG_TARGET_TRIPLET MATCHES "arm-windows")
+ set(HAVE_DINPUT_H 0)
+ endif()
check_include_file(dxgi.h HAVE_DXGI_H)
if(HAVE_D3D_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H)
set(HAVE_DIRECTX TRUE)
@@ -1359,18 +1379,20 @@
check_include_file(audioclient.h HAVE_AUDIOCLIENT_H)
if(SDL_AUDIO)
+ if(NOT WINDOWS_STORE)
set(SDL_AUDIO_DRIVER_WINMM 1)
file(GLOB WINMM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/winmm/*.c)
set(SOURCE_FILES ${SOURCE_FILES} ${WINMM_AUDIO_SOURCES})
+ endif()
set(HAVE_SDL_AUDIO TRUE)
- if(HAVE_DSOUND_H)
+ if(HAVE_DSOUND_H AND NOT WINDOWS_STORE)
set(SDL_AUDIO_DRIVER_DSOUND 1)
file(GLOB DSOUND_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/directsound/*.c)
set(SOURCE_FILES ${SOURCE_FILES} ${DSOUND_AUDIO_SOURCES})
endif()
- if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H)
+ if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H AND NOT WINDOWS_STORE)
set(SDL_AUDIO_DRIVER_WASAPI 1)
file(GLOB WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/*.c)
set(SOURCE_FILES ${SOURCE_FILES} ${WASAPI_AUDIO_SOURCES})
@@ -1382,11 +1404,20 @@
if(NOT SDL_LOADSO)
message_error("SDL_VIDEO requires SDL_LOADSO, which is not enabled")
endif()
+ if(WINDOWS_STORE)
+ set(SDL_VIDEO_DRIVER_WINRT 1)
+ file(GLOB WIN_VIDEO_SOURCES
+ ${SDL2_SOURCE_DIR}/src/video/winrt/*.c
+ ${SDL2_SOURCE_DIR}/src/video/winrt/*.cpp
+ ${SDL2_SOURCE_DIR}/src/render/direct3d11/*.cpp
+ )
+ else()
set(SDL_VIDEO_DRIVER_WINDOWS 1)
file(GLOB WIN_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/windows/*.c)
+ endif()
set(SOURCE_FILES ${SOURCE_FILES} ${WIN_VIDEO_SOURCES})
- if(RENDER_D3D AND HAVE_D3D_H)
+ if(RENDER_D3D AND HAVE_D3D_H AND NOT WINDOWS_STORE)
set(SDL_VIDEO_RENDER_D3D 1)
set(HAVE_RENDER_D3D TRUE)
endif()
@@ -1409,20 +1440,31 @@
endif()
if(SDL_POWER)
+ if(WINDOWS_STORE)
+ set(SDL_POWER_WINRT 1)
+ set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/winrt/SDL_syspower.cpp)
+ else()
set(SDL_POWER_WINDOWS 1)
set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/windows/SDL_syspower.c)
+ endif()
set(HAVE_SDL_POWER TRUE)
endif()
if(SDL_FILESYSTEM)
set(SDL_FILESYSTEM_WINDOWS 1)
+ if(WINDOWS_STORE)
+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/winrt/*.cpp)
+ else()
file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/windows/*.c)
+ endif()
set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
set(HAVE_SDL_FILESYSTEM TRUE)
endif()
# Libraries for Win32 native and MinGW
+ if(NOT WINDOWS_STORE)
list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32)
+ endif()
# TODO: in configure.ac the check for timers is set on
# cygwin | mingw32* - does this include mingw32CE?
@@ -1444,7 +1486,7 @@
set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES})
if(SDL_VIDEO)
- if(VIDEO_OPENGL)
+ if(VIDEO_OPENGL AND NOT WINDOWS_STORE)
set(SDL_VIDEO_OPENGL 1)
set(SDL_VIDEO_OPENGL_WGL 1)
set(SDL_VIDEO_RENDER_OGL 1)
@@ -2027,12 +2069,14 @@
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
# Always build SDLmain
+if(NOT WINDOWS_STORE)
add_library(SDL2main STATIC ${SDLMAIN_SOURCES})
target_include_directories(SDL2main PUBLIC "$<BUILD_INTERFACE:${SDL2_SOURCE_DIR}/include>" $<INSTALL_INTERFACE:include> $<INSTALL_INTERFACE:include/SDL2>)
set(_INSTALL_LIBS "SDL2main")
if (NOT ANDROID)
set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}")
endif()
+endif()
if (ANDROID AND HAVE_HIDAPI)
set(_INSTALL_LIBS ${_INSTALL_LIBS} "hidapi")
diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake
index 48dd2d4..0c4fa28 100644
--- a/include/SDL_config.h.cmake
+++ b/include/SDL_config.h.cmake
@@ -335,6 +326,7 @@
#cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@
#cmakedefine SDL_VIDEO_DRIVER_OFFSCREEN @SDL_VIDEO_DRIVER_OFFSCREEN@
#cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@
+#cmakedefine SDL_VIDEO_DRIVER_WINRT @SDL_VIDEO_DRIVER_WINRT@
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@
#cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@
@@ -403,6 +404,7 @@
#cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@
#cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@
#cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@
+#cmakedefine SDL_POWER_WINRT @SDL_POWER_WINRT@
#cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@
#cmakedefine SDL_POWER_UIKIT @SDL_POWER_UIKIT@
#cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@
@@ -428,7 +430,7 @@
#cmakedefine SDL_IPHONE_KEYBOARD @SDL_IPHONE_KEYBOARD@
#cmakedefine SDL_IPHONE_LAUNCHSCREEN @SDL_IPHONE_LAUNCHSCREEN@
-#if !defined(__WIN32__)
+#if !defined(__WIN32__) && !defined(__WINRT__)
# if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H)
typedef unsigned int size_t;
typedef signed char int8_t;

View File

@ -1,24 +0,0 @@
# HG changeset patch
# User Mikhail Paulyshka <me@mixaill.tk>
# Date 1506252750 -10800
# Sun Sep 24 14:32:30 2017 +0300
# Branch SDL2-WIN-SYMBOLS_LEACKAGE
# Node ID 46ec9baae30cd4e0c584de125cae4a3cce2864ad
# Parent 8df7a59b55283aa09889522369a2b32674c048de
win32: fix symbols leakage for static libraries
diff -r 8df7a59b5528 -r 46ec9baae30c include/begin_code.h
--- a/include/begin_code.h Fri Sep 22 11:25:52 2017 -0700
+++ b/include/begin_code.h Sun Sep 24 14:32:30 2017 +0300
@@ -58,8 +58,10 @@
# else
# define DECLSPEC __declspec(dllimport)
# endif
+# elif defined(_DLL)
+# define DECLSPEC __declspec(dllexport)
# else
-# define DECLSPEC __declspec(dllexport)
+# define DECLSPEC
# endif
# elif defined(__OS2__)
# ifdef BUILD_SDL

View File

@ -1,17 +0,0 @@
diff -r 398b67c0a7d3 -r 7c2f418f701b src/video/winrt/SDL_winrtgamebar.cpp
--- a/src/video/winrt/SDL_winrtgamebar.cpp Wed Jun 10 09:36:10 2020 -0700
+++ b/src/video/winrt/SDL_winrtgamebar.cpp Wed Jun 10 09:38:43 2020 -0700
@@ -25,7 +25,7 @@
/* Windows includes */
#include <roapi.h>
#include <windows.foundation.h>
-#include <EventToken.h>
+#include <windows.system.h>
/* SDL includes */

View File

@ -1,24 +0,0 @@
diff -ur a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt 2019-07-23 21:41:00.000000000 +0200
+++ b/CMakeLists.txt 2019-10-27 20:26:38.000000000 +0100
@@ -278,7 +278,7 @@
# General includes
include_directories(${SDL2_BINARY_DIR}/include ${SDL2_SOURCE_DIR}/include)
if(USE_GCC OR USE_CLANG)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter ${SDL2_SOURCE_DIR}/src/video/khronos")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter \"${SDL2_SOURCE_DIR}/src/video/khronos\"")
else()
include_directories(${SDL2_SOURCE_DIR}/src/video/khronos)
endif()
diff -ur a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake
--- a/cmake/sdlchecks.cmake 2019-07-23 21:41:00.000000000 +0200
+++ b/cmake/sdlchecks.cmake 2019-10-27 20:27:10.000000000 +0100
@@ -1088,7 +1088,7 @@
set(HAVE_SDL_JOYSTICK TRUE)
file(GLOB HIDAPI_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/hidapi/*.c)
set(SOURCE_FILES ${SOURCE_FILES} ${HIDAPI_SOURCES})
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} -I${SDL2_SOURCE_DIR}/src/hidapi/hidapi")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} \"-I${SDL2_SOURCE_DIR}/src/hidapi/hidapi\"")
if(NOT HIDAPI_SKIP_LIBUSB)
if(HIDAPI_ONLY_LIBUSB)
set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/libusb/hid.c)

View File

@ -1,13 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7dfd35389..648218cc5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2062,7 +2062,7 @@ if(SDL_SHARED)
set_target_properties(SDL2 PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB")
endif()
set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS})
- target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA_LDFLAGS})
+ target_link_libraries(SDL2 PRIVATE ${EXTRA_LIBS} ${EXTRA_LDFLAGS})
target_include_directories(SDL2 PUBLIC "$<BUILD_INTERFACE:${SDL2_SOURCE_DIR}/include>" $<INSTALL_INTERFACE:include> $<INSTALL_INTERFACE:include/SDL2>)
if (NOT ANDROID)
set_target_properties(SDL2 PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}")

View File

@ -1,24 +1,17 @@
set(SDL2_VERSION 2.0.12)
set(SDL2_VERSION 2.0.14)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.libsdl.org/release/SDL2-2.0.12.tar.gz"
URLS "https://www.libsdl.org/release/SDL2-${SDL2_VERSION}.tar.gz"
FILENAME "SDL2-${SDL2_VERSION}.tar.gz"
SHA512 3f1f04af0f3d9dda9c84a2e9274ae8d83ea0da3fc367970a820036cc4dc1dbf990cfc37e4975ae05f0b45a4ffa739c6c19e470c00bf3f2bce9b8b63717b8b317
SHA512 ebc482585bd565bf3003fbcedd91058b2183e333b9ea566d2f386da0298ff970645d9d25c1aa4459c7c96e9ea839fd1c5f2da0242a56892865b2e456cdd027ee
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
export-symbols-only-in-shared-build.patch
enable-winrt-cmake.patch
disable-hidapi-for-uwp.patch
fix-space-in-path.patch
disable-wcslcpy-and-wcslcat-for-windows.patch
fix-EventToken-header-reference.patch
0006-sdl2-Enable-creation-of-pkg-cfg-file-on-windows.patch
0007-sdl2-skip-ibus-on-linux.patch
0008-fix-macos-metal-test.patch
no-propagate-shared-link-options.patch
0001-sdl2-Enable-creation-of-pkg-cfg-file-on-windows.patch
0002-sdl2-skip-ibus-on-linux.patch
0003-sdl2-fix-uwp-build.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC)

View File

@ -1,7 +1,6 @@
{
"name": "sdl2",
"version-string": "2.0.12",
"port-version": 8,
"version-string": "2.0.14",
"description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.",
"homepage": "https://www.libsdl.org/download-2.0.php",
"features": {

View File

@ -45,7 +45,7 @@ add_library(smpeg2
MPEGsystem.cpp
smpeg.cpp)
set_target_properties(smpeg2 PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
set_target_properties(smpeg2 PROPERTIES DEFINE_SYMBOL DLL_EXPORT)
if(BUILD_SHARED_LIBS)
target_link_libraries(smpeg2 SDL2::SDL2)
else()