Rewrite five SDL_DIRECTX header checks

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

[sdl-ci-filter msvc-*]
[sdl-ci-filter msys2-*]
[sdl-ci-filter cygwin]
[sdl-ci-filter ngage]
This commit is contained in:
Tim Stahlhut
2026-07-11 21:17:06 -04:00
committed by Sam Lantinga
parent b9758218c8
commit c97d9feb13

View File

@@ -2291,11 +2291,32 @@ elseif(WINDOWS OR CYGWIN)
string(APPEND CMAKE_REQUIRED_FLAGS " /I\"$ENV{DXSDK_DIR}\\Include\"")
endif()
check_include_file(d3d9.h HAVE_D3D9_H)
check_include_file(d3d11_1.h HAVE_D3D11_H)
check_include_file(ddraw.h HAVE_DDRAW_H)
check_include_file(dsound.h HAVE_DSOUND_H)
check_include_file(dinput.h HAVE_DINPUT_H)
# d3d9.h may need windows.h, but does not include it itself.
check_c_source_compiles("
#include <windows.h>
#include <d3d9.h>
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_D3D9_H
)
check_c_source_compiles("
#include <d3d11_1.h>
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_D3D11_H
)
# ddraw.h, dsound.h, and dinput.h may need windows.h, but does not include it itself.
check_c_source_compiles("
#include <windows.h>
#include <ddraw.h>
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_DDRAW_H
)
check_c_source_compiles("
#include <windows.h>
#include <dsound.h>
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_DSOUND_H
)
check_c_source_compiles("
#include <windows.h>
#include <dinput.h>
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_DINPUT_H
)
if(SDL_CPU_ARM32) # !!! FIXME: this should probably check if we're !(x86 or x86-64) instead of arm.
set(HAVE_DINPUT_H 0)
endif()