diff --git a/Android.mk b/Android.mk index 0bdb6386d..c26fc6721 100644 --- a/Android.mk +++ b/Android.mk @@ -10,7 +10,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := SDL3 -LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/src +LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/include/build_config $(LOCAL_PATH)/src LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include diff --git a/CMakeLists.txt b/CMakeLists.txt index 77d6f4642..8c7bd73ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -456,7 +456,7 @@ endif() sdl_compile_definitions(PRIVATE "USING_GENERATED_CONFIG_H") sdl_include_directories( PRIVATE - "${SDL3_BINARY_DIR}/include-config-$>" + "${SDL3_BINARY_DIR}/include-config-$>/build_config" "${SDL3_BINARY_DIR}/include" "${SDL3_SOURCE_DIR}/include" ) @@ -3316,7 +3316,7 @@ if(SDL_SHARED) target_link_libraries(SDL3-shared PRIVATE ${SDL_CMAKE_DEPENDS}) target_include_directories(SDL3-shared PRIVATE - "$>>" + "$>>/build_config" "$" ) target_link_libraries(SDL3-shared PUBLIC $) @@ -3343,7 +3343,7 @@ if(SDL_STATIC) target_link_libraries(SDL3-static PRIVATE ${SDL_CMAKE_DEPENDS}) target_include_directories(SDL3-static PRIVATE - "$>>" + "$>>/build_config" "$" ) target_link_libraries(SDL3-static PUBLIC $) diff --git a/VisualC-GDK/SDL/SDL.vcxproj b/VisualC-GDK/SDL/SDL.vcxproj index 8d038f6d3..1ac0e2ec3 100644 --- a/VisualC-GDK/SDL/SDL.vcxproj +++ b/VisualC-GDK/SDL/SDL.vcxproj @@ -116,7 +116,7 @@ Disabled - $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\include\build_config;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) false @@ -146,7 +146,7 @@ Disabled - $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\include\build_config;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) false @@ -180,7 +180,7 @@ Disabled - $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\include\build_config;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) false @@ -213,7 +213,7 @@ .\Release/SDL.tlb - $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\include\build_config;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) false @@ -244,7 +244,7 @@ .\Release/SDL.tlb - $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\include\build_config;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) false @@ -279,7 +279,7 @@ .\Release/SDL.tlb - $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\..\include;$(ProjectDir)\..\..\include\build_config;$(ProjectDir)\..\..\src;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) false diff --git a/VisualC-WinRT/SDL-UWP.vcxproj b/VisualC-WinRT/SDL-UWP.vcxproj index 7a5c81952..1c7b029a1 100644 --- a/VisualC-WinRT/SDL-UWP.vcxproj +++ b/VisualC-WinRT/SDL-UWP.vcxproj @@ -800,7 +800,7 @@ Use false - ..\include;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\include;$(ProjectDir)\..\include\build_config;%(AdditionalIncludeDirectories) DLL_EXPORT;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions) SDL_internal.h @@ -815,7 +815,7 @@ Use false - ..\include;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\include;$(ProjectDir)\..\include\build_config;%(AdditionalIncludeDirectories) DLL_EXPORT;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions) SDL_internal.h @@ -830,7 +830,7 @@ Use false - ..\include;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\include;$(ProjectDir)\..\include\build_config;%(AdditionalIncludeDirectories) DLL_EXPORT;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions) SDL_internal.h @@ -845,7 +845,7 @@ Use false - ..\include;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\include;$(ProjectDir)\..\include\build_config;%(AdditionalIncludeDirectories) DLL_EXPORT;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions) SDL_internal.h @@ -860,7 +860,7 @@ Use false - ..\include;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\include;$(ProjectDir)\..\include\build_config;%(AdditionalIncludeDirectories) DLL_EXPORT;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions) SDL_internal.h @@ -875,7 +875,7 @@ Use false - ..\include;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\include;$(ProjectDir)\..\include\build_config;%(AdditionalIncludeDirectories) DLL_EXPORT;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions) SDL_internal.h @@ -890,7 +890,7 @@ Use false - ..\include;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\include;$(ProjectDir)\..\include\build_config;%(AdditionalIncludeDirectories) DLL_EXPORT;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions) SDL_internal.h @@ -905,7 +905,7 @@ Use false - ..\include;%(AdditionalIncludeDirectories) + $(ProjectDir)\..\include;$(ProjectDir)\..\include\build_config;%(AdditionalIncludeDirectories) DLL_EXPORT;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions) SDL_internal.h diff --git a/VisualC/SDL/SDL.vcxproj b/VisualC/SDL/SDL.vcxproj index f8111cf34..657afb9f2 100644 --- a/VisualC/SDL/SDL.vcxproj +++ b/VisualC/SDL/SDL.vcxproj @@ -108,7 +108,7 @@ Disabled - $(ProjectDir)/../../include;%(AdditionalIncludeDirectories) + $(ProjectDir)/../../include;$(ProjectDir)/../../include/build_config;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) false @@ -140,7 +140,7 @@ Disabled - $(ProjectDir)/../../include;%(AdditionalIncludeDirectories) + $(ProjectDir)/../../include;$(ProjectDir)/../../include/build_config;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) false @@ -174,7 +174,7 @@ .\Release/SDL.tlb - $(ProjectDir)/../../include;%(AdditionalIncludeDirectories) + $(ProjectDir)/../../include;$(ProjectDir)/../../include/build_config;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) false @@ -207,7 +207,7 @@ .\Release/SDL.tlb - $(ProjectDir)/../../include;%(AdditionalIncludeDirectories) + $(ProjectDir)/../../include;$(ProjectDir)/../../include/build_config;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) DLL_EXPORT;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) false diff --git a/VisualC/tests/testautomation/testautomation.vcxproj b/VisualC/tests/testautomation/testautomation.vcxproj index 8dd3dfc44..ba737643f 100644 --- a/VisualC/tests/testautomation/testautomation.vcxproj +++ b/VisualC/tests/testautomation/testautomation.vcxproj @@ -89,7 +89,7 @@ Disabled - $(SolutionDir)/../include;%(AdditionalIncludeDirectories) + $(SolutionDir)/../include;$(SolutionDir)/../include/build_config;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) MultiThreadedDLL @@ -115,7 +115,7 @@ Disabled - $(SolutionDir)/../include;%(AdditionalIncludeDirectories) + $(SolutionDir)/../include;$(SolutionDir)/../include/build_config;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) MultiThreadedDebugDLL @@ -140,7 +140,7 @@ .\Release/testautomation.tlb - $(SolutionDir)/../include;%(AdditionalIncludeDirectories) + $(SolutionDir)/../include;$(SolutionDir)/../include/build_config;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) MultiThreadedDLL @@ -163,7 +163,7 @@ .\Release/testautomation.tlb - $(SolutionDir)/../include;%(AdditionalIncludeDirectories) + $(SolutionDir)/../include;$(SolutionDir)/../include/build_config;%(AdditionalIncludeDirectories) %(AdditionalUsingDirectories) WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) MultiThreadedDLL diff --git a/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/Xcode/SDL/SDL.xcodeproj/project.pbxproj index 3fa652201..bf6fe0788 100644 --- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj +++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj @@ -2949,6 +2949,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; HEADER_SEARCH_PATHS = ( ../../include, + ../../include/build_config, ../../src, ../../src/hidapi/hidapi, ../../src/video/khronos, @@ -3006,6 +3007,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; HEADER_SEARCH_PATHS = ( ../../include, + ../../include/build_config, ../../src, ../../src/hidapi/hidapi, ../../src/video/khronos, diff --git a/cmake/test/CMakeLists.txt b/cmake/test/CMakeLists.txt index e38159382..faa79e657 100644 --- a/cmake/test/CMakeLists.txt +++ b/cmake/test/CMakeLists.txt @@ -1,7 +1,7 @@ # This cmake build script is meant for verifying the various CMake configuration scripts. cmake_minimum_required(VERSION 3.12) -project(sdl_test LANGUAGES C) +project(SDL_cmake_selftest LANGUAGES C) include(CheckLanguage) diff --git a/src/SDL_internal.h b/src/SDL_internal.h index 5d3dc8a0f..d09e93a1e 100644 --- a/src/SDL_internal.h +++ b/src/SDL_internal.h @@ -60,7 +60,7 @@ SDL_free(ptr); \ } -#include "build_config/SDL_build_config.h" +#include "SDL_build_config.h" #include "dynapi/SDL_dynapi.h" diff --git a/src/dynapi/SDL_dynapi.c b/src/dynapi/SDL_dynapi.c index cdd8bbd13..164f7d65e 100644 --- a/src/dynapi/SDL_dynapi.c +++ b/src/dynapi/SDL_dynapi.c @@ -19,7 +19,7 @@ 3. This notice may not be removed or altered from any source distribution. */ -#include "build_config/SDL_build_config.h" +#include "SDL_build_config.h" #include "SDL_dynapi.h" #include "SDL_dynapi_unsupported.h" diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3163f2a4e..2fd82c773 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -2,6 +2,10 @@ # CMake script for building the SDL tests # +cmake_minimum_required(VERSION 3.16) + +set(SDL3_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..") + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../cmake") include(CheckIncludeFile) @@ -9,6 +13,11 @@ include(CheckStructHasMember) include(CMakePushCheckState) include(sdlcompilers) +find_package(Python3 COMPONENTS Interpreter) +if(NOT PYTHON3_EXECUTABLE) + set(PYTHON3_EXECUTABLE "python3") +endif() + if(SDL_TESTS_LINK_SHARED) set(sdl_name_component SDL3-shared) else() @@ -56,13 +65,12 @@ if(EMSCRIPTEN) set(SDLTEST_BROWSER "firefox" CACHE STRING "Browser in which to run SDL unit tests (chrome or firefox)") set(SDLTEST_PORT "8080" CACHE STRING "Port on which to serve the tests") set(SDLTEST_CHROME_BINARY "" CACHE STRING "Chrome/Chromium browser binary (optional)") - find_package(Python3 COMPONENTS Interpreter) if(TARGET Python3::Interpreter) add_custom_target(serve-sdl-tests COMMAND Python3::Interpreter "${CMAKE_CURRENT_SOURCE_DIR}/emscripten/server.py" "${SDLTEST_PORT}" -d "${CMAKE_CURRENT_BINARY_DIR}" - --map "${CMAKE_CURRENT_SOURCE_DIR}/..:/SDL") + --map "${SDL3_SOURCE_DIR}:/SDL") endif() endif() @@ -213,6 +221,9 @@ macro(add_sdl_test_executable TARGET) if(AST_BUILD_DEPENDENT) target_include_directories(${TARGET} BEFORE PRIVATE $) target_include_directories(${TARGET} BEFORE PRIVATE ${SDL3_SOURCE_DIR}/src) + if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.20") + target_include_directories(${TARGET} AFTER PRIVATE "${SDL3_SOURCE_DIR}/include/build_config") + endif() endif() if(WINDOWS) @@ -297,7 +308,7 @@ add_sdl_test_executable(testaudioinfo SOURCES testaudioinfo.c) add_sdl_test_executable(testaudiostreamdynamicresample NEEDS_RESOURCES TESTUTILS SOURCES testaudiostreamdynamicresample.c) file(GLOB TESTAUTOMATION_SOURCE_FILES testautomation*.c) -add_sdl_test_executable(testautomation NONINTERACTIVE NONINTERACTIVE_TIMEOUT 120 NEEDS_RESOURCES NO_C90 SOURCES ${TESTAUTOMATION_SOURCE_FILES}) +add_sdl_test_executable(testautomation NONINTERACTIVE NONINTERACTIVE_TIMEOUT 120 NEEDS_RESOURCES BUILD_DEPENDENT NO_C90 SOURCES ${TESTAUTOMATION_SOURCE_FILES}) if(EMSCRIPTEN) target_link_options(testautomation PRIVATE -sALLOW_MEMORY_GROWTH=1 -sMAXIMUM_MEMORY=1gb) endif() @@ -342,9 +353,8 @@ elseif(HAVE_X11 OR HAVE_WAYLAND) endif () endif() -find_package(Python3 COMPONENTS Interpreter) function(files2headers OUTPUT) - set(xxd "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/xxd.py") + set(xxd "${SDL3_SOURCE_DIR}/cmake/xxd.py") set(inputs ${ARGN}) set(outputs ) foreach(input IN LISTS inputs) @@ -352,7 +362,7 @@ function(files2headers OUTPUT) set(intermediate "${CMAKE_CURRENT_BINARY_DIR}/${file_we}.h") set(output "${CMAKE_CURRENT_SOURCE_DIR}/${file_we}.h") list(APPEND outputs "${output}") - if(Python3_FOUND AND Python3_VERSION VERSION_GREATER_EQUAL "3.2") + if(TARGET Python3::Interpreter AND NOT CMAKE_CROSSCOMPILING) list(APPEND outputs "${intermediate}") # Don't add the 'output' header to the output, to avoid marking them as GENERATED # (generated files are removed when running the CLEAN target) @@ -637,9 +647,6 @@ function(add_sdl_test TEST TARGET) get_property(noninteractive TARGET ${TARGET} PROPERTY SDL_NONINTERACTIVE) if(noninteractive) if(EMSCRIPTEN) - if(NOT PYTHON3_EXECUTABLE) - set(PYTHON3_EXECUTABLE "python3") - endif() set(command "${PYTHON3_EXECUTABLE};${CMAKE_CURRENT_SOURCE_DIR}/emscripten/driver.py;--server;http://localhost:${SDLTEST_PORT};--browser;${SDLTEST_BROWSER}") if(SDLTEST_CHROME_BINARY) list(APPEND command "--chrome-binary;${SDLTEST_CHROME_BINARY}") diff --git a/test/testautomation_intrinsics.c b/test/testautomation_intrinsics.c index 98dabf0fb..f3d0565b2 100644 --- a/test/testautomation_intrinsics.c +++ b/test/testautomation_intrinsics.c @@ -4,7 +4,7 @@ #ifndef NO_BUILD_CONFIG /* Disable intrinsics that are unsupported by the current compiler */ -#include +#include "SDL_build_config.h" #endif #include diff --git a/test/testautomation_main.c b/test/testautomation_main.c index e1dd958b3..40b56ee53 100644 --- a/test/testautomation_main.c +++ b/test/testautomation_main.c @@ -9,7 +9,7 @@ #include #include #include "testautomation_suites.h" -#include "build_config/SDL_build_config.h" +#include "SDL_build_config.h" /** * Tests SDL_InitSubSystem() and SDL_QuitSubSystem() diff --git a/test/testnative.h b/test/testnative.h index 40429bd10..e40ab13d4 100644 --- a/test/testnative.h +++ b/test/testnative.h @@ -16,7 +16,7 @@ #include -#include "build_config/SDL_build_config.h" +#include "SDL_build_config.h" typedef struct {