7
7
# See docs/release_checklist.md
8
8
project (SDL3 LANGUAGES C VERSION "3.3.0" )
9
9
10
+ if (GDK_GAMING_XBOX )
11
+ # FIXME: Setting the standard of individual files doesn't seem to work properly
12
+ set (CMAKE_CXX_STANDARD 17 )
13
+ endif ()
14
+
10
15
if (CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR )
11
16
set (SDL3_MAINPROJECT ON )
12
17
else ()
@@ -331,8 +336,8 @@ dep_option(SDL_DISKAUDIO "Support the disk writer audio driver" ON "SD
331
336
dep_option (SDL_DUMMYAUDIO "Support the dummy audio driver" ON "SDL_AUDIO" OFF )
332
337
dep_option (SDL_DUMMYVIDEO "Use dummy video driver" ON "SDL_VIDEO" OFF )
333
338
dep_option (SDL_IBUS "Enable IBus support" ON "${UNIX_SYS} " OFF )
334
- dep_option (SDL_OPENGL "Include OpenGL support" ON "SDL_VIDEO;NOT IOS;NOT VISIONOS;NOT TVOS;NOT WATCHOS" OFF )
335
- dep_option (SDL_OPENGLES "Include OpenGL ES support" ON "SDL_VIDEO;NOT VISIONOS;NOT TVOS;NOT WATCHOS" OFF )
339
+ dep_option (SDL_OPENGL "Include OpenGL support" ON "SDL_VIDEO;NOT IOS;NOT VISIONOS;NOT TVOS;NOT WATCHOS;NOT GDK_GAMING_XBOX " OFF )
340
+ dep_option (SDL_OPENGLES "Include OpenGL ES support" ON "SDL_VIDEO;NOT VISIONOS;NOT TVOS;NOT WATCHOS;NOT GDK_GAMING_XBOX " OFF )
336
341
set_option (SDL_PTHREADS "Use POSIX threads for multi-threading" ${SDL_PTHREADS_DEFAULT} )
337
342
dep_option (SDL_PTHREADS_SEM "Use pthread semaphores" ON "SDL_PTHREADS" OFF )
338
343
dep_option (SDL_OSS "Support the OSS audio API" ${SDL_OSS_DEFAULT} "UNIX_SYS OR RISCOS;SDL_AUDIO" OFF )
@@ -375,8 +380,8 @@ dep_option(SDL_RENDER_D3D12 "Enable the Direct3D 12 render driver" ON "SD
375
380
dep_option (SDL_RENDER_METAL "Enable the Metal render driver" ON "SDL_RENDER;${APPLE} " OFF )
376
381
dep_option (SDL_RENDER_GPU "Enable the SDL_GPU render driver" ON "SDL_RENDER;SDL_GPU" OFF )
377
382
dep_option (SDL_VIVANTE "Use Vivante EGL video driver" ON "${UNIX_SYS} ;SDL_CPU_ARM32" OFF )
378
- dep_option (SDL_VULKAN "Enable Vulkan support" ON "SDL_VIDEO;ANDROID OR APPLE OR LINUX OR FREEBSD OR WINDOWS" OFF )
379
- dep_option (SDL_RENDER_VULKAN "Enable the Vulkan render driver" ON "SDL_RENDER;SDL_VULKAN" OFF )
383
+ dep_option (SDL_VULKAN "Enable Vulkan support" ON "SDL_VIDEO;ANDROID OR APPLE OR LINUX OR FREEBSD OR WINDOWS;NOT GDK_GAMING_XBOX " OFF )
384
+ dep_option (SDL_RENDER_VULKAN "Enable the Vulkan render driver" ON "SDL_RENDER;SDL_VULKAN;NOT GDK_GAMING_XBOX " OFF )
380
385
dep_option (SDL_METAL "Enable Metal support" ON "APPLE" OFF )
381
386
set_option (SDL_OPENVR "Use OpenVR video driver" OFF )
382
387
dep_option (SDL_KMSDRM "Use KMS DRM video driver" ${UNIX_SYS} "SDL_VIDEO" OFF )
@@ -385,11 +390,11 @@ set_option(SDL_OFFSCREEN "Use offscreen video driver" ON)
385
390
dep_option (SDL_DUMMYCAMERA "Support the dummy camera driver" ON SDL_CAMERA OFF )
386
391
option_string (SDL_BACKGROUNDING_SIGNAL "number to use for magic backgrounding signal or 'OFF'" OFF )
387
392
option_string (SDL_FOREGROUNDING_SIGNAL "number to use for magic foregrounding signal or 'OFF'" OFF )
388
- dep_option (SDL_HIDAPI "Enable the HIDAPI subsystem" ON "NOT VISIONOS" OFF )
393
+ dep_option (SDL_HIDAPI "Enable the HIDAPI subsystem" ON "NOT VISIONOS;NOT GDK_GAMING_XBOX " OFF )
389
394
dep_option (SDL_HIDAPI_LIBUSB "Use libusb for low level joystick drivers" ON SDL_HIDAPI_LIBUSB_AVAILABLE OFF )
390
395
dep_option (SDL_HIDAPI_LIBUSB_SHARED "Dynamically load libusb support" ON "SDL_HIDAPI_LIBUSB;SDL_DEPS_SHARED" OFF )
391
396
dep_option (SDL_HIDAPI_JOYSTICK "Use HIDAPI for low level joystick drivers" ON SDL_HIDAPI OFF )
392
- dep_option (SDL_VIRTUAL_JOYSTICK "Enable the virtual-joystick driver" ON SDL_HIDAPI OFF )
397
+ dep_option (SDL_VIRTUAL_JOYSTICK "Enable the virtual-joystick driver" ON " SDL_HIDAPI OR GDK_GAMING_XBOX" OFF )
393
398
set_option (SDL_LIBUDEV "Enable libudev support" ON )
394
399
set_option (SDL_ASAN "Use AddressSanitizer to detect memory errors" OFF )
395
400
set_option (SDL_CCACHE "Use Ccache to speed up build" OFF )
@@ -441,6 +446,32 @@ if(SDL_PRESEED)
441
446
SDL_Preseed_CMakeCache ()
442
447
endif ()
443
448
449
+ if (GDK_GAMING_XBOX )
450
+ if (GDK_GAMING_XBOX_ONE )
451
+ message (STATUS "Building shader blobs (Xbox One)" )
452
+ execute_process (
453
+ COMMAND cmd.exe /Q /c "${SDL3_SOURCE_DIR} /src/render/direct3d12/compile_shaders_xbox.bat ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} one"
454
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
455
+ )
456
+ execute_process (
457
+ COMMAND cmd.exe /Q /c "${SDL3_SOURCE_DIR} /src/gpu/d3d12/compile_shaders_xbox.bat ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} one"
458
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
459
+ )
460
+ elseif (GDK_GAMING_XBOX_SCARLETT )
461
+ message (STATUS "Building shader blobs (Xbox Series)" )
462
+ execute_process (
463
+ COMMAND cmd.exe /Q /c "${SDL3_SOURCE_DIR} /src/render/direct3d12/compile_shaders_xbox.bat ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} "
464
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
465
+ )
466
+ execute_process (
467
+ COMMAND cmd.exe /Q /c "${SDL3_SOURCE_DIR} /src/gpu/d3d12/compile_shaders_xbox.bat ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} "
468
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
469
+ )
470
+ else ()
471
+ message (FATAL_ERROR "Unknown Xbox system" )
472
+ endif ()
473
+ endif ()
474
+
444
475
if (SDL_SHARED )
445
476
add_library (SDL3-shared SHARED )
446
477
add_library (SDL3::SDL3-shared ALIAS SDL3-shared )
@@ -1055,6 +1086,10 @@ if(SDL_LIBC)
1055
1086
strcasestr
1056
1087
)
1057
1088
endif ()
1089
+ if (GDK_GAMING_XBOX )
1090
+ list (REMOVE_ITEM symbols_to_check itoa )
1091
+ endif ()
1092
+
1058
1093
check_library_exists (m pow "" HAVE_LIBM )
1059
1094
cmake_push_check_state ()
1060
1095
if (HAVE_LIBM )
@@ -1922,6 +1957,9 @@ elseif(WINDOWS)
1922
1957
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/core/windows/*.cpp" )
1923
1958
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/main/windows/*.c" )
1924
1959
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/io/windows/*.c" )
1960
+ if (GDK_GAMING_XBOX )
1961
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/main/gdk/SDL_sysmain_runapp.cpp" )
1962
+ endif ()
1925
1963
1926
1964
if (TARGET SDL3-shared AND MSVC AND NOT SDL_LIBC )
1927
1965
# Prevent codegen that would use the VC runtime libraries.
@@ -1955,10 +1993,19 @@ elseif(WINDOWS)
1955
1993
check_include_file (ddraw.h HAVE_DDRAW_H )
1956
1994
check_include_file (dsound.h HAVE_DSOUND_H )
1957
1995
check_include_file (dinput.h HAVE_DINPUT_H )
1996
+ check_include_file (dxgi.h HAVE_DXGI_H )
1997
+ # FIXME: Not sure why, avoiding the above still keeps "HAVE_DDRAW_H" and friends being 1?
1998
+ if (GDK_GAMING_XBOX )
1999
+ set (HAVE_D3D9_H 0 )
2000
+ set (HAVE_D3D11_H 0 )
2001
+ set (HAVE_DDRAW_H 0 )
2002
+ set (HAVE_DSOUND_H 0 )
2003
+ set (HAVE_DINPUT_H 0 )
2004
+ set (HAVE_DXGI_H 0 )
2005
+ endif ()
1958
2006
if (SDL_CPU_ARM32 ) # !!! FIXME: this should probably check if we're !(x86 or x86-64) instead of arm.
1959
2007
set (HAVE_DINPUT_H 0 )
1960
2008
endif ()
1961
- check_include_file (dxgi.h HAVE_DXGI_H )
1962
2009
cmake_pop_check_state ()
1963
2010
if (HAVE_D3D9_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H )
1964
2011
set (HAVE_DIRECTX TRUE )
@@ -1989,6 +2036,10 @@ elseif(WINDOWS)
1989
2036
static __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2 *s2;
1990
2037
int main(int argc, char **argv) { return 0; }" HAVE_WINDOWS_GAMING_INPUT_H
1991
2038
)
2039
+ # FIXME: Avoiding the check above still marks it as 1
2040
+ if (GDK_GAMING_XBOX )
2041
+ set (HAVE_WINDOWS_GAMING_INPUT_H 0 )
2042
+ endif ()
1992
2043
check_c_source_compiles ("
1993
2044
#include <stdbool.h>
1994
2045
#define COBJMACROS
@@ -2003,6 +2054,11 @@ elseif(WINDOWS)
2003
2054
check_include_file (sensorsapi.h HAVE_SENSORSAPI_H )
2004
2055
check_include_file (shellscalingapi.h HAVE_SHELLSCALINGAPI_H )
2005
2056
check_include_file (shobjidl_core.h HAVE_SHOBJIDL_CORE_H )
2057
+ # FIXME: removing the checks didn't work?
2058
+ if (GDK_GAMING_XBOX )
2059
+ set (HAVE_ROAPI_H 0 )
2060
+ set (HAVE_SHELLSCALINGAPI_H 0 )
2061
+ endif ()
2006
2062
check_c_source_compiles ("
2007
2063
#include <windows.h>
2008
2064
#include <mfapi.h>
@@ -2034,17 +2090,35 @@ elseif(WINDOWS)
2034
2090
2035
2091
CheckOpenVR ()
2036
2092
2037
- if (SDL_RENDER_D3D AND HAVE_D3D9_H )
2093
+ if (SDL_RENDER_D3D AND HAVE_D3D9_H AND NOT GDK_GAMING_XBOX )
2038
2094
set (SDL_VIDEO_RENDER_D3D 1 )
2039
2095
set (HAVE_RENDER_D3D TRUE )
2040
2096
endif ()
2041
- if (SDL_RENDER_D3D11 AND HAVE_D3D11_H )
2097
+ if (GDK_GAMING_XBOX )
2098
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/render/direct3d/SDL_render_d3d.c" PROPERTIES LANGUAGE CXX )
2099
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/video/gdk/SDL_gdktextinput.cpp" )
2100
+ endif ()
2101
+ if (SDL_RENDER_D3D11 AND HAVE_D3D11_H AND NOT GDK_GAMING_XBOX )
2042
2102
set (SDL_VIDEO_RENDER_D3D11 1 )
2043
2103
set (HAVE_RENDER_D3D11 TRUE )
2044
2104
endif ()
2045
2105
if (SDL_RENDER_D3D12 )
2046
2106
set (SDL_VIDEO_RENDER_D3D12 1 )
2047
2107
set (HAVE_RENDER_D3D12 TRUE )
2108
+ if (GDK_GAMING_XBOX )
2109
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/render/direct3d12/SDL_render_d3d12.c" PROPERTIES LANGUAGE CXX )
2110
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/render/direct3d12/SDL_render_d3d12_xbox.cpp" )
2111
+ if (GDK_GAMING_XBOX_ONE )
2112
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/render/direct3d12/SDL_shaders_d3d12_xboxone.cpp" )
2113
+ # TODO: This should also happen for "SDL_GPU && !(SDL_RENDER)"
2114
+ sdl_link_dependency (d3d12 LIBS d3d12_x.lib )
2115
+ elseif (GDK_GAMING_XBOX_SCARLETT )
2116
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/render/direct3d12/SDL_shaders_d3d12_xboxseries.cpp" )
2117
+ sdl_link_dependency (d3d12 LIBS d3d12_xs.lib )
2118
+ else ()
2119
+ message (FATAL_ERROR "Unknown Xbox system" )
2120
+ endif ()
2121
+ endif ()
2048
2122
endif ()
2049
2123
set (HAVE_SDL_VIDEO TRUE )
2050
2124
endif ()
@@ -2065,23 +2139,34 @@ elseif(WINDOWS)
2065
2139
2066
2140
set (HAVE_SDL_THREADS TRUE )
2067
2141
2068
- if (SDL_SENSOR AND HAVE_SENSORSAPI_H )
2142
+ if (SDL_SENSOR AND HAVE_SENSORSAPI_H AND NOT GDK_GAMING_XBOX )
2069
2143
set (SDL_SENSOR_WINDOWS 1 )
2070
2144
set (HAVE_SDL_SENSORS TRUE )
2071
2145
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/sensor/windows/*.c" )
2072
2146
endif ()
2073
2147
2074
2148
if (SDL_POWER )
2075
- set (SDL_POWER_WINDOWS 1 )
2149
+ if (GDK_GAMING_XBOX )
2150
+ set (SDL_POWER_HARDWIRED 1 )
2151
+ else ()
2152
+ set (SDL_POWER_WINDOWS 1 )
2153
+ endif ()
2076
2154
sdl_sources ("${SDL3_SOURCE_DIR} /src/power/windows/SDL_syspower.c" )
2077
2155
set (HAVE_SDL_POWER TRUE )
2078
2156
endif ()
2079
2157
2080
2158
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/locale/windows/*.c" )
2081
2159
set (HAVE_SDL_LOCALE TRUE )
2082
2160
2083
- set (SDL_FILESYSTEM_WINDOWS 1 )
2084
- sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/filesystem/windows/*.c" )
2161
+ if (NOT GDK_GAMING_XBOX )
2162
+ set (SDL_FILESYSTEM_WINDOWS 1 )
2163
+ endif ()
2164
+ file (GLOB SDL3_WIN_FILESYSTEM_FILES "${SDL3_SOURCE_DIR} /src/filesystem/windows/*.c" )
2165
+ if (GDK_GAMING_XBOX )
2166
+ list (REMOVE_ITEM SDL3_WIN_FILESYSTEM_FILES "${SDL3_SOURCE_DIR} /src/filesystem/windows/SDL_sysfilesystem.c" )
2167
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/filesystem/gdk/SDL_sysfilesystem.cpp" )
2168
+ endif ()
2169
+ sdl_glob_sources ("${SDL3_WIN_FILESYSTEM_FILES} " )
2085
2170
set (HAVE_SDL_FILESYSTEM TRUE )
2086
2171
2087
2172
set (SDL_FSOPS_WINDOWS 1 )
@@ -2094,7 +2179,14 @@ elseif(WINDOWS)
2094
2179
set (HAVE_SDL_STORAGE 1 )
2095
2180
2096
2181
# Libraries for Win32 native and MinGW
2097
- sdl_link_dependency (base LIBS kernel32 user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32 )
2182
+ if (GDK_GAMING_XBOX )
2183
+ add_link_options ("/NODEFAULTLIB" )
2184
+ # Needed to inherit base dependencies, specifically to link XblInitialize correctly
2185
+ set (CMAKE_CXX_STANDARD_LIBRARIES "$(CMAKE_CXX_STANDARD_LIBRARIES) %(AdditionalDependencies) " )
2186
+ sdl_link_dependency (base LIBS xgameplatform xgameruntime xmem pixevt )
2187
+ else ()
2188
+ sdl_link_dependency (base LIBS kernel32 user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32 )
2189
+ endif ()
2098
2190
2099
2191
set (SDL_TIME_WINDOWS 1 )
2100
2192
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/time/windows/*.c" )
@@ -2109,6 +2201,10 @@ elseif(WINDOWS)
2109
2201
set (HAVE_SDL_LOADSO TRUE )
2110
2202
2111
2203
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/core/windows/*.c" )
2204
+ if (GDK_GAMING_XBOX )
2205
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/core/gdk/SDL_gdk.cpp" )
2206
+ # sdl_sources("${SDL3_SOURCE_DIR}/src/core/windows/pch_cpp.cpp")
2207
+ endif ()
2112
2208
2113
2209
if (SDL_VIDEO )
2114
2210
if (SDL_OPENGL )
@@ -2134,8 +2230,10 @@ elseif(WINDOWS)
2134
2230
endif ()
2135
2231
endif ()
2136
2232
2137
- sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/tray/windows/*.c" )
2138
- set (HAVE_SDL_TRAY TRUE )
2233
+ if (NOT GDK_GAMING_XBOX )
2234
+ sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/tray/windows/*.c" )
2235
+ set (HAVE_SDL_TRAY TRUE )
2236
+ endif ()
2139
2237
endif ()
2140
2238
2141
2239
if (SDL_HIDAPI )
@@ -2144,30 +2242,47 @@ elseif(WINDOWS)
2144
2242
2145
2243
if (SDL_JOYSTICK )
2146
2244
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/joystick/windows/*.c" )
2245
+ if (GDK_GAMING_XBOX )
2246
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/joystick/windows/SDL_windowsjoystick.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
2247
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/joystick/windows/SDL_xinputjoystick.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
2248
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/joystick/gdk/SDL_gameinputjoystick.c" )
2249
+ endif ()
2147
2250
2148
- set (SDL_JOYSTICK_RAWINPUT 1 )
2251
+ if (NOT GDK_GAMING_XBOX )
2252
+ set (SDL_JOYSTICK_RAWINPUT 1 )
2253
+ endif ()
2149
2254
if (HAVE_DINPUT_H )
2150
2255
set (SDL_JOYSTICK_DINPUT 1 )
2151
2256
sdl_link_dependency (joystick LIBS dinput8 )
2152
2257
endif ()
2153
- if (HAVE_XINPUT_H )
2258
+ if (HAVE_XINPUT_H AND NOT GDK_GAMING_XBOX )
2154
2259
set (SDL_JOYSTICK_XINPUT 1 )
2155
2260
set (HAVE_XINPUT TRUE )
2156
2261
endif ()
2157
- if (HAVE_WINDOWS_GAMING_INPUT_H )
2262
+ if (GDK_GAMING_XBOX )
2263
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/core/windows/SDL_xinput.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
2264
+ endif ()
2265
+ if (HAVE_WINDOWS_GAMING_INPUT_H AND NOT GDK_GAMING_XBOX )
2158
2266
set (SDL_JOYSTICK_WGI 1 )
2159
2267
endif ()
2160
2268
if (HAVE_GAMEINPUT_H )
2161
2269
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/joystick/gdk/*.cpp" )
2162
2270
set (SDL_JOYSTICK_GAMEINPUT 1 )
2163
2271
endif ()
2272
+ if (GDK_GAMING_DESKTOP OR GDK_GAMING_XBOX )
2273
+ set (SDL_GDK_TEXTINPUT 1 )
2274
+ set (SDL_DISABLE_WINDOWS_IME 1 )
2275
+ endif ()
2164
2276
set (HAVE_SDL_JOYSTICK TRUE )
2165
2277
2166
2278
if (SDL_HAPTIC )
2167
2279
if (HAVE_DINPUT_H )
2168
2280
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/haptic/windows/*.c" )
2169
2281
set (SDL_HAPTIC_DINPUT 1 )
2170
2282
set (HAVE_SDL_HAPTIC TRUE )
2283
+ if (GDK_GAMING_XBOX )
2284
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/haptic/windows/SDL_windowshaptic.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
2285
+ endif ()
2171
2286
endif ()
2172
2287
endif ()
2173
2288
endif ()
@@ -3041,7 +3156,7 @@ if (SDL_DIALOG)
3041
3156
elseif (HAIKU )
3042
3157
sdl_sources (${SDL3_SOURCE_DIR} /src/dialog/haiku/SDL_haikudialog.cc )
3043
3158
set (HAVE_SDL_DIALOG TRUE )
3044
- elseif (WINDOWS )
3159
+ elseif (WINDOWS AND NOT GDK_GAMING_XBOX )
3045
3160
sdl_sources (${SDL3_SOURCE_DIR} /src/dialog/windows/SDL_windowsdialog.c )
3046
3161
set (HAVE_SDL_DIALOG TRUE )
3047
3162
elseif (MACOS )
@@ -3051,7 +3166,7 @@ if (SDL_DIALOG)
3051
3166
endif ()
3052
3167
3053
3168
sdl_sources ("${SDL3_SOURCE_DIR} /src/process/SDL_process.c" )
3054
- if (WINDOWS )
3169
+ if (WINDOWS AND NOT GDK_GAMING_XBOX )
3055
3170
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/process/windows/*.c" )
3056
3171
set (SDL_PROCESS_WINDOWS 1 )
3057
3172
set (HAVE_SDL_PROCESS TRUE )
@@ -3120,6 +3235,10 @@ if(SDL_GPU)
3120
3235
endif ()
3121
3236
if (WINDOWS )
3122
3237
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/gpu/d3d12/*.c" )
3238
+ sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/gpu/d3d12/*.cpp" )
3239
+ if (GDK_GAMING_XBOX )
3240
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/gpu/d3d12/SDL_gpu_d3d12.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
3241
+ endif ()
3123
3242
set (SDL_GPU_D3D12 1 )
3124
3243
set (HAVE_SDL_GPU TRUE )
3125
3244
endif ()
0 commit comments