From f1ff620204263dbff6a6557662dc0e0901841d56 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Mon, 29 Dec 2025 01:19:41 +0100
Subject: [PATCH] Generate include/SDL2/SDL_config_unix.h at build-time for
SDL2COMPAT_DISABLE_X11
---
CMakeLists.txt | 6 ++++--
include/SDL2/{SDL_config_unix.h => SDL_config_unix.h.cmake} | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
rename include/SDL2/{SDL_config_unix.h => SDL_config_unix.h.cmake} (99%)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f30006d..c756bf10 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -323,6 +323,7 @@ endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
string(STRIP "${CMAKE_C_FLAGS}" CMAKE_C_FLAGS)
+set(SDL2COMPAT_DISABLE_X11 OFF)
if(UNIX AND NOT APPLE)
target_compile_definitions(SDL2 PRIVATE "_REENTRANT")
target_link_libraries(SDL2 PRIVATE ${CMAKE_DL_LIBS})
@@ -331,10 +332,11 @@ if(UNIX AND NOT APPLE)
target_compile_definitions(SDL2 PRIVATE SDL2COMPAT_HAVE_X11)
include_directories(${X11_INCLUDE_DIR})
else()
- target_compile_definitions(SDL2 PUBLIC SDL2COMPAT_DISABLE_X11)
+ set(SDL2COMPAT_DISABLE_X11 ON)
message(STATUS "X11 support disabled")
endif()
endif()
+configure_file(include/SDL2/SDL_config_unix.h.cmake include/SDL2/SDL_config_unix.h)
if(ANDROID)
target_link_libraries(SDL2 PRIVATE log)
@@ -554,7 +556,7 @@ if(SDL2COMPAT_INSTALL)
DESTINATION "${SDL2COMPAT_INSTALL_CMAKEDIR}"
)
- file(GLOB SDL2_INCLUDE_FILES ${PROJECT_SOURCE_DIR}/include/SDL2/*.h)
+ file(GLOB SDL2_INCLUDE_FILES ${PROJECT_SOURCE_DIR}/include/SDL2/*.h "${PROJECT_BINARY_DIR}/include/SDL2/SDL_config_unix.h")
set(SDL2_COPIED_INCLUDE_FILES)
foreach(_hdr IN LISTS SDL2_INCLUDE_FILES)
if(_hdr MATCHES ".*(SDL_config).*")
diff --git a/include/SDL2/SDL_config_unix.h b/include/SDL2/SDL_config_unix.h.cmake
similarity index 99%
rename from include/SDL2/SDL_config_unix.h
rename to include/SDL2/SDL_config_unix.h.cmake
index d5a48e95..3aeea71c 100644
--- a/include/SDL2/SDL_config_unix.h
+++ b/include/SDL2/SDL_config_unix.h.cmake
@@ -221,6 +221,7 @@
#define SDL_THREAD_PTHREAD 1
#define SDL_TIMER_UNIX 1
/* Allow building without X11 support */
+#cmakedefine SDL2COMPAT_DISABLE_X11
#ifndef SDL2COMPAT_DISABLE_X11
#define SDL_VIDEO_DRIVER_X11 1
#endif