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,33 @@ 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
+ )
457
+ execute_process (
458
+ COMMAND cmd.exe /Q /c "${SDL3_SOURCE_DIR} /src/gpu/d3d12/compile_shaders_xbox.bat ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} one"
459
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
460
+ )
461
+ elseif (GDK_GAMING_XBOX_SCARLETT )
462
+ message (STATUS "Building shader blobs (Xbox Series)" )
463
+ execute_process (
464
+ COMMAND cmd.exe /Q /c "${SDL3_SOURCE_DIR} /src/render/direct3d12/compile_shaders_xbox.bat ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} "
465
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
466
+ )
467
+ execute_process (
468
+ COMMAND cmd.exe /Q /c "${SDL3_SOURCE_DIR} /src/gpu/d3d12/compile_shaders_xbox.bat ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} "
469
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
470
+ )
471
+ else ()
472
+ message (FATAL_ERROR "Unknown Xbox system" )
473
+ endif ()
474
+ endif ()
475
+
444
476
if (SDL_SHARED )
445
477
add_library (SDL3-shared SHARED )
446
478
add_library (SDL3::SDL3-shared ALIAS SDL3-shared )
@@ -1055,6 +1087,10 @@ if(SDL_LIBC)
1055
1087
strcasestr
1056
1088
)
1057
1089
endif ()
1090
+ if (GDK_GAMING_XBOX )
1091
+ list (REMOVE_ITEM symbols_to_check itoa )
1092
+ endif ()
1093
+
1058
1094
check_library_exists (m pow "" HAVE_LIBM )
1059
1095
cmake_push_check_state ()
1060
1096
if (HAVE_LIBM )
@@ -1922,6 +1958,9 @@ elseif(WINDOWS)
1922
1958
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/core/windows/*.cpp" )
1923
1959
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/main/windows/*.c" )
1924
1960
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/io/windows/*.c" )
1961
+ if (GDK_GAMING_XBOX )
1962
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/main/gdk/SDL_sysmain_runapp.cpp" )
1963
+ endif ()
1925
1964
1926
1965
if (TARGET SDL3-shared AND MSVC AND NOT SDL_LIBC )
1927
1966
# Prevent codegen that would use the VC runtime libraries.
@@ -1955,10 +1994,19 @@ elseif(WINDOWS)
1955
1994
check_include_file (ddraw.h HAVE_DDRAW_H )
1956
1995
check_include_file (dsound.h HAVE_DSOUND_H )
1957
1996
check_include_file (dinput.h HAVE_DINPUT_H )
1997
+ check_include_file (dxgi.h HAVE_DXGI_H )
1998
+ # FIXME: Not sure why, avoiding the above still keeps "HAVE_DDRAW_H" and friends being 1?
1999
+ if (GDK_GAMING_XBOX )
2000
+ set (HAVE_D3D9_H 0 )
2001
+ set (HAVE_D3D11_H 0 )
2002
+ set (HAVE_DDRAW_H 0 )
2003
+ set (HAVE_DSOUND_H 0 )
2004
+ set (HAVE_DINPUT_H 0 )
2005
+ set (HAVE_DXGI_H 0 )
2006
+ endif ()
1958
2007
if (SDL_CPU_ARM32 ) # !!! FIXME: this should probably check if we're !(x86 or x86-64) instead of arm.
1959
2008
set (HAVE_DINPUT_H 0 )
1960
2009
endif ()
1961
- check_include_file (dxgi.h HAVE_DXGI_H )
1962
2010
cmake_pop_check_state ()
1963
2011
if (HAVE_D3D9_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H )
1964
2012
set (HAVE_DIRECTX TRUE )
@@ -1989,6 +2037,10 @@ elseif(WINDOWS)
1989
2037
static __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2 *s2;
1990
2038
int main(int argc, char **argv) { return 0; }" HAVE_WINDOWS_GAMING_INPUT_H
1991
2039
)
2040
+ # FIXME: Avoiding the check above still marks it as 1
2041
+ if (GDK_GAMING_XBOX )
2042
+ set (HAVE_WINDOWS_GAMING_INPUT_H 0 )
2043
+ endif ()
1992
2044
check_c_source_compiles ("
1993
2045
#include <stdbool.h>
1994
2046
#define COBJMACROS
@@ -2003,6 +2055,11 @@ elseif(WINDOWS)
2003
2055
check_include_file (sensorsapi.h HAVE_SENSORSAPI_H )
2004
2056
check_include_file (shellscalingapi.h HAVE_SHELLSCALINGAPI_H )
2005
2057
check_include_file (shobjidl_core.h HAVE_SHOBJIDL_CORE_H )
2058
+ # FIXME: removing the checks didn't work?
2059
+ if (GDK_GAMING_XBOX )
2060
+ set (HAVE_ROAPI_H 0 )
2061
+ set (HAVE_SHELLSCALINGAPI_H 0 )
2062
+ endif ()
2006
2063
check_c_source_compiles ("
2007
2064
#include <windows.h>
2008
2065
#include <mfapi.h>
@@ -2034,17 +2091,35 @@ elseif(WINDOWS)
2034
2091
2035
2092
CheckOpenVR ()
2036
2093
2037
- if (SDL_RENDER_D3D AND HAVE_D3D9_H )
2094
+ if (SDL_RENDER_D3D AND HAVE_D3D9_H AND NOT GDK_GAMING_XBOX )
2038
2095
set (SDL_VIDEO_RENDER_D3D 1 )
2039
2096
set (HAVE_RENDER_D3D TRUE )
2040
2097
endif ()
2041
- if (SDL_RENDER_D3D11 AND HAVE_D3D11_H )
2098
+ if (GDK_GAMING_XBOX )
2099
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/render/direct3d/SDL_render_d3d.c" PROPERTIES LANGUAGE CXX )
2100
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/video/gdk/SDL_gdktextinput.cpp" )
2101
+ endif ()
2102
+ if (SDL_RENDER_D3D11 AND HAVE_D3D11_H AND NOT GDK_GAMING_XBOX )
2042
2103
set (SDL_VIDEO_RENDER_D3D11 1 )
2043
2104
set (HAVE_RENDER_D3D11 TRUE )
2044
2105
endif ()
2045
2106
if (SDL_RENDER_D3D12 )
2046
2107
set (SDL_VIDEO_RENDER_D3D12 1 )
2047
2108
set (HAVE_RENDER_D3D12 TRUE )
2109
+ if (GDK_GAMING_XBOX )
2110
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/render/direct3d12/SDL_render_d3d12.c" PROPERTIES LANGUAGE CXX )
2111
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/render/direct3d12/SDL_render_d3d12_xbox.cpp" )
2112
+ if (GDK_GAMING_XBOX_ONE )
2113
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/render/direct3d12/SDL_shaders_d3d12_xboxone.cpp" )
2114
+ # TODO: This should also happen for "SDL_GPU && !(SDL_RENDER)"
2115
+ sdl_link_dependency (d3d12 LIBS d3d12_x.lib )
2116
+ elseif (GDK_GAMING_XBOX_SCARLETT )
2117
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/render/direct3d12/SDL_shaders_d3d12_xboxseries.cpp" )
2118
+ sdl_link_dependency (d3d12 LIBS d3d12_xs.lib )
2119
+ else ()
2120
+ message (FATAL_ERROR "Unknown Xbox system" )
2121
+ endif ()
2122
+ endif ()
2048
2123
endif ()
2049
2124
set (HAVE_SDL_VIDEO TRUE )
2050
2125
endif ()
@@ -2065,23 +2140,34 @@ elseif(WINDOWS)
2065
2140
2066
2141
set (HAVE_SDL_THREADS TRUE )
2067
2142
2068
- if (SDL_SENSOR AND HAVE_SENSORSAPI_H )
2143
+ if (SDL_SENSOR AND HAVE_SENSORSAPI_H AND NOT GDK_GAMING_XBOX )
2069
2144
set (SDL_SENSOR_WINDOWS 1 )
2070
2145
set (HAVE_SDL_SENSORS TRUE )
2071
2146
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/sensor/windows/*.c" )
2072
2147
endif ()
2073
2148
2074
2149
if (SDL_POWER )
2075
- set (SDL_POWER_WINDOWS 1 )
2150
+ if (GDK_GAMING_XBOX )
2151
+ set (SDL_POWER_HARDWIRED 1 )
2152
+ else ()
2153
+ set (SDL_POWER_WINDOWS 1 )
2154
+ endif ()
2076
2155
sdl_sources ("${SDL3_SOURCE_DIR} /src/power/windows/SDL_syspower.c" )
2077
2156
set (HAVE_SDL_POWER TRUE )
2078
2157
endif ()
2079
2158
2080
2159
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/locale/windows/*.c" )
2081
2160
set (HAVE_SDL_LOCALE TRUE )
2082
2161
2083
- set (SDL_FILESYSTEM_WINDOWS 1 )
2084
- sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/filesystem/windows/*.c" )
2162
+ if (NOT GDK_GAMING_XBOX )
2163
+ set (SDL_FILESYSTEM_WINDOWS 1 )
2164
+ endif ()
2165
+ file (GLOB SDL3_WIN_FILESYSTEM_FILES "${SDL3_SOURCE_DIR} /src/filesystem/windows/*.c" )
2166
+ if (GDK_GAMING_XBOX )
2167
+ list (REMOVE_ITEM SDL3_WIN_FILESYSTEM_FILES "${SDL3_SOURCE_DIR} /src/filesystem/windows/SDL_sysfilesystem.c" )
2168
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/filesystem/gdk/SDL_sysfilesystem.cpp" )
2169
+ endif ()
2170
+ sdl_glob_sources ("${SDL3_WIN_FILESYSTEM_FILES} " )
2085
2171
set (HAVE_SDL_FILESYSTEM TRUE )
2086
2172
2087
2173
set (SDL_FSOPS_WINDOWS 1 )
@@ -2094,7 +2180,14 @@ elseif(WINDOWS)
2094
2180
set (HAVE_SDL_STORAGE 1 )
2095
2181
2096
2182
# Libraries for Win32 native and MinGW
2097
- sdl_link_dependency (base LIBS kernel32 user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32 )
2183
+ if (GDK_GAMING_XBOX )
2184
+ add_link_options ("/NODEFAULTLIB" )
2185
+ # Needed to inherit base dependencies, specifically to link XblInitialize correctly
2186
+ set (CMAKE_CXX_STANDARD_LIBRARIES "$(CMAKE_CXX_STANDARD_LIBRARIES) %(AdditionalDependencies) " )
2187
+ sdl_link_dependency (base LIBS xgameplatform xgameruntime xmem pixevt )
2188
+ else ()
2189
+ sdl_link_dependency (base LIBS kernel32 user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32 )
2190
+ endif ()
2098
2191
2099
2192
set (SDL_TIME_WINDOWS 1 )
2100
2193
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/time/windows/*.c" )
@@ -2109,6 +2202,10 @@ elseif(WINDOWS)
2109
2202
set (HAVE_SDL_LOADSO TRUE )
2110
2203
2111
2204
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/core/windows/*.c" )
2205
+ if (GDK_GAMING_XBOX )
2206
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/core/gdk/SDL_gdk.cpp" )
2207
+ # sdl_sources("${SDL3_SOURCE_DIR}/src/core/windows/pch_cpp.cpp")
2208
+ endif ()
2112
2209
2113
2210
if (SDL_VIDEO )
2114
2211
if (SDL_OPENGL )
@@ -2134,8 +2231,10 @@ elseif(WINDOWS)
2134
2231
endif ()
2135
2232
endif ()
2136
2233
2137
- sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/tray/windows/*.c" )
2138
- set (HAVE_SDL_TRAY TRUE )
2234
+ if (NOT GDK_GAMING_XBOX )
2235
+ sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/tray/windows/*.c" )
2236
+ set (HAVE_SDL_TRAY TRUE )
2237
+ endif ()
2139
2238
endif ()
2140
2239
2141
2240
if (SDL_HIDAPI )
@@ -2144,30 +2243,47 @@ elseif(WINDOWS)
2144
2243
2145
2244
if (SDL_JOYSTICK )
2146
2245
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/joystick/windows/*.c" )
2246
+ if (GDK_GAMING_XBOX )
2247
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/joystick/windows/SDL_windowsjoystick.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
2248
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/joystick/windows/SDL_xinputjoystick.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
2249
+ sdl_sources ("${SDL3_SOURCE_DIR} /src/joystick/gdk/SDL_gameinputjoystick.c" )
2250
+ endif ()
2147
2251
2148
- set (SDL_JOYSTICK_RAWINPUT 1 )
2252
+ if (NOT GDK_GAMING_XBOX )
2253
+ set (SDL_JOYSTICK_RAWINPUT 1 )
2254
+ endif ()
2149
2255
if (HAVE_DINPUT_H )
2150
2256
set (SDL_JOYSTICK_DINPUT 1 )
2151
2257
sdl_link_dependency (joystick LIBS dinput8 )
2152
2258
endif ()
2153
- if (HAVE_XINPUT_H )
2259
+ if (HAVE_XINPUT_H AND NOT GDK_GAMING_XBOX )
2154
2260
set (SDL_JOYSTICK_XINPUT 1 )
2155
2261
set (HAVE_XINPUT TRUE )
2156
2262
endif ()
2157
- if (HAVE_WINDOWS_GAMING_INPUT_H )
2263
+ if (GDK_GAMING_XBOX )
2264
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/core/windows/SDL_xinput.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
2265
+ endif ()
2266
+ if (HAVE_WINDOWS_GAMING_INPUT_H AND NOT GDK_GAMING_XBOX )
2158
2267
set (SDL_JOYSTICK_WGI 1 )
2159
2268
endif ()
2160
2269
if (HAVE_GAMEINPUT_H )
2161
2270
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/joystick/gdk/*.cpp" )
2162
2271
set (SDL_JOYSTICK_GAMEINPUT 1 )
2163
2272
endif ()
2273
+ if (GDK_GAMING_DESKTOP OR GDK_GAMING_XBOX )
2274
+ set (SDL_GDK_TEXTINPUT 1 )
2275
+ set (SDL_DISABLE_WINDOWS_IME 1 )
2276
+ endif ()
2164
2277
set (HAVE_SDL_JOYSTICK TRUE )
2165
2278
2166
2279
if (SDL_HAPTIC )
2167
2280
if (HAVE_DINPUT_H )
2168
2281
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/haptic/windows/*.c" )
2169
2282
set (SDL_HAPTIC_DINPUT 1 )
2170
2283
set (HAVE_SDL_HAPTIC TRUE )
2284
+ if (GDK_GAMING_XBOX )
2285
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/haptic/windows/SDL_windowshaptic.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
2286
+ endif ()
2171
2287
endif ()
2172
2288
endif ()
2173
2289
endif ()
@@ -3041,7 +3157,7 @@ if (SDL_DIALOG)
3041
3157
elseif (HAIKU )
3042
3158
sdl_sources (${SDL3_SOURCE_DIR} /src/dialog/haiku/SDL_haikudialog.cc )
3043
3159
set (HAVE_SDL_DIALOG TRUE )
3044
- elseif (WINDOWS )
3160
+ elseif (WINDOWS AND NOT GDK_GAMING_XBOX )
3045
3161
sdl_sources (${SDL3_SOURCE_DIR} /src/dialog/windows/SDL_windowsdialog.c )
3046
3162
set (HAVE_SDL_DIALOG TRUE )
3047
3163
elseif (MACOS )
@@ -3051,7 +3167,7 @@ if (SDL_DIALOG)
3051
3167
endif ()
3052
3168
3053
3169
sdl_sources ("${SDL3_SOURCE_DIR} /src/process/SDL_process.c" )
3054
- if (WINDOWS )
3170
+ if (WINDOWS AND NOT GDK_GAMING_XBOX )
3055
3171
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/process/windows/*.c" )
3056
3172
set (SDL_PROCESS_WINDOWS 1 )
3057
3173
set (HAVE_SDL_PROCESS TRUE )
@@ -3120,6 +3236,10 @@ if(SDL_GPU)
3120
3236
endif ()
3121
3237
if (WINDOWS )
3122
3238
sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/gpu/d3d12/*.c" )
3239
+ sdl_glob_sources ("${SDL3_SOURCE_DIR} /src/gpu/d3d12/*.cpp" )
3240
+ if (GDK_GAMING_XBOX )
3241
+ set_source_files_properties ("${SDL3_SOURCE_DIR} /src/gpu/d3d12/SDL_gpu_d3d12.c" PROPERTIES LANGUAGE CXX CXX_STANDARD 17 )
3242
+ endif ()
3123
3243
set (SDL_GPU_D3D12 1 )
3124
3244
set (HAVE_SDL_GPU TRUE )
3125
3245
endif ()
0 commit comments