diff --git a/external/SDL2/CMakeLists.txt b/external/SDL2/CMakeLists.txt index 7dfd3538..339ec917 100644 --- a/external/SDL2/CMakeLists.txt +++ b/external/SDL2/CMakeLists.txt @@ -266,7 +266,7 @@ add_definitions(-DUSING_GENERATED_CONFIG_H) # General includes include_directories(${SDL2_BINARY_DIR}/include ${SDL2_SOURCE_DIR}/include) if(USE_GCC OR USE_CLANG) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter ${SDL2_SOURCE_DIR}/src/video/khronos") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter \"${SDL2_SOURCE_DIR}/src/video/khronos\"") else() include_directories(${SDL2_SOURCE_DIR}/src/video/khronos) endif() @@ -2092,6 +2092,7 @@ endif() if(SDL_STATIC) set (BUILD_SHARED_LIBS FALSE) add_library(SDL2-static STATIC ${SOURCE_FILES}) + target_compile_definitions(SDL2-static PRIVATE SDL_STATIC) if (NOT SDL_SHARED OR NOT WIN32) set_target_properties(SDL2-static PROPERTIES OUTPUT_NAME "SDL2") # Note: Apparently, OUTPUT_NAME must really be unique; even when diff --git a/external/SDL2/cmake/sdlchecks.cmake b/external/SDL2/cmake/sdlchecks.cmake index ee8421fe..6c33c256 100644 --- a/external/SDL2/cmake/sdlchecks.cmake +++ b/external/SDL2/cmake/sdlchecks.cmake @@ -1088,7 +1088,7 @@ macro(CheckHIDAPI) set(HAVE_SDL_JOYSTICK TRUE) file(GLOB HIDAPI_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/hidapi/*.c) set(SOURCE_FILES ${SOURCE_FILES} ${HIDAPI_SOURCES}) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} -I${SDL2_SOURCE_DIR}/src/hidapi/hidapi") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} \"-I${SDL2_SOURCE_DIR}/src/hidapi/hidapi\"") if(NOT HIDAPI_SKIP_LIBUSB) if(HIDAPI_ONLY_LIBUSB) set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/libusb/hid.c) diff --git a/external/SDL2/include/begin_code.h b/external/SDL2/include/begin_code.h index 170d69ec..e7c2595c 100644 --- a/external/SDL2/include/begin_code.h +++ b/external/SDL2/include/begin_code.h @@ -58,6 +58,8 @@ # else # define DECLSPEC __declspec(dllimport) # endif +# elif defined(SDL_STATIC) +# define DECLSPEC # else # define DECLSPEC __declspec(dllexport) # endif