Created
June 15, 2024 05:37
-
-
Save YellowOnion/49eb5ce269e5c6fc6407f994c9f0cd96 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/CMakeLists.txt b/CMakeLists.txt | |
index 74356b60f..e4276aca8 100755 | |
--- a/CMakeLists.txt | |
+++ b/CMakeLists.txt | |
@@ -169,13 +169,6 @@ if(MSVC) | |
endif() | |
endforeach() | |
endif() | |
- | |
- # Make sure /RTC1 is disabled, otherwise it will use functions from the CRT | |
- foreach(flag_var | |
- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE | |
- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) | |
- string(REGEX REPLACE "/RTC(su|[1su])" "" ${flag_var} "${${flag_var}}") | |
- endforeach(flag_var) | |
endif() | |
# Those are used for pkg-config and friends, so that the SDL2.pc, sdl2-config, | |
@@ -389,7 +382,7 @@ if(USE_GCC OR USE_CLANG) | |
set(CMAKE_REQUIRED_FLAGS "-Wl,--no-undefined") | |
check_c_compiler_flag("" HAVE_NO_UNDEFINED) | |
- set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS}) | |
+ set(CMAKE_REQUIRED_FLAGS) | |
if(HAVE_NO_UNDEFINED) | |
list(APPEND EXTRA_LDFLAGS "-Wl,--no-undefined") | |
endif() | |
@@ -695,52 +688,6 @@ if(SDL_VIDEO) | |
endif() | |
endif() | |
-if(ANDROID) | |
- file(GLOB ANDROID_CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/android/*.c) | |
- set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_CORE_SOURCES}) | |
- file(GLOB ANDROID_MAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/android/*.c) | |
- set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_MAIN_SOURCES}) | |
- if(SDL_AUDIO) | |
- set(SDL_AUDIO_DRIVER_ANDROID 1) | |
- file(GLOB ANDROID_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/android/*.c) | |
- set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_AUDIO_SOURCES}) | |
- set(HAVE_SDL_AUDIO TRUE) | |
- endif() | |
- if(SDL_FILESYSTEM) | |
- set(SDL_FILESYSTEM_ANDROID 1) | |
- file(GLOB ANDROID_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/android/*.c) | |
- set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_FILESYSTEM_SOURCES}) | |
- set(HAVE_SDL_FILESYSTEM TRUE) | |
- endif() | |
- if(SDL_JOYSTICK) | |
- set(SDL_JOYSTICK_ANDROID 1) | |
- file(GLOB ANDROID_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/android/*.c) | |
- set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_JOYSTICK_SOURCES}) | |
- set(HAVE_SDL_JOYSTICK TRUE) | |
- endif() | |
- if(SDL_POWER) | |
- set(SDL_POWER_ANDROID 1) | |
- file(GLOB ANDROID_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/android/*.c) | |
- set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_POWER_SOURCES}) | |
- set(HAVE_SDL_POWER TRUE) | |
- endif() | |
- if(SDL_VIDEO) | |
- set(SDL_VIDEO_DRIVER_ANDROID 1) | |
- file(GLOB ANDROID_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/android/*.c) | |
- set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_VIDEO_SOURCES}) | |
- set(HAVE_SDL_VIDEO TRUE) | |
- | |
- #enable gles | |
- if(VIDEO_OPENGLES) | |
- set(SDL_VIDEO_OPENGL_EGL 1) | |
- set(HAVE_VIDEO_OPENGLES TRUE) | |
- set(SDL_VIDEO_OPENGL_ES2 1) | |
- set(SDL_VIDEO_RENDER_OGL_ES2 1) | |
- endif() | |
- endif() | |
- list(APPEND EXTRA_LDFLAGS "-Wl,--undefined=Java_org_libsdl_app_SDLActivity_nativeInit") | |
-endif() | |
- | |
# Platform-specific options and settings | |
if(EMSCRIPTEN) | |
# Hide noisy warnings that intend to aid mostly during initial stages of porting a new | |
@@ -879,7 +826,7 @@ elseif(UNIX AND NOT APPLE) | |
if(SDL_JOYSTICK) | |
CheckUSBHID() # seems to be BSD specific - limit the test to BSD only? | |
- if(LINUX AND NOT ANDROID) | |
+ if(LINUX) | |
set(SDL_JOYSTICK_LINUX 1) | |
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/linux/*.c) | |
set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES}) | |
@@ -951,20 +898,9 @@ elseif(WINDOWS) | |
file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) | |
set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) | |
- if(MSVC) | |
- # Prevent codegen that would use the VC runtime libraries. | |
- add_definitions(/GS-) | |
- if(NOT ARCH_64) | |
- add_definitions(/arch:SSE) | |
- endif() | |
- endif() | |
- | |
# Check for DirectX | |
if(DIRECTX) | |
- if(DEFINED MSVC_VERSION AND NOT ${MSVC_VERSION} LESS 1700) | |
- set(USE_WINSDK_DIRECTX TRUE) | |
- endif() | |
- if(NOT CMAKE_COMPILER_IS_MINGW AND NOT USE_WINSDK_DIRECTX) | |
+ if(NOT CMAKE_COMPILER_IS_MINGW) | |
if("$ENV{DXSDK_DIR}" STREQUAL "") | |
message_error("DIRECTX requires the \$DXSDK_DIR environment variable to be set") | |
endif() | |
@@ -990,7 +926,7 @@ elseif(WINDOWS) | |
check_include_file(dxgi.h HAVE_DXGI_H) | |
if(HAVE_D3D_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H OR HAVE_XAUDIO2_H) | |
set(HAVE_DIRECTX TRUE) | |
- if(NOT CMAKE_COMPILER_IS_MINGW AND NOT USE_WINSDK_DIRECTX) | |
+ if(NOT CMAKE_COMPILER_IS_MINGW) | |
# TODO: change $ENV{DXSDL_DIR} to get the path from the include checks | |
link_directories($ENV{DXSDK_DIR}\\lib\\${PROCESSOR_ARCH}) | |
include_directories($ENV{DXSDK_DIR}\\Include) | |
@@ -1064,6 +1000,8 @@ elseif(WINDOWS) | |
# Libraries for Win32 native and MinGW | |
list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid) | |
+ list(APPEND EXTRA2015_LIBS_STATIC libcmt libvcruntime libucrt) | |
+ list(APPEND EXTRA2015_LIBS msvcrt vcruntime ucrt) | |
# TODO: in configure.in the check for timers is set on | |
# cygwin | mingw32* - does this include mingw32CE? | |
@@ -1108,7 +1046,7 @@ elseif(WINDOWS) | |
list(APPEND EXTRA_LIBS dinput8 dxguid) | |
if(CMAKE_COMPILER_IS_MINGW) | |
list(APPEND EXTRA_LIBS dxerr8) | |
- elseif (NOT USE_WINSDK_DIRECTX) | |
+ else() | |
list(APPEND EXTRA_LIBS dxerr) | |
endif() | |
endif() | |
@@ -1151,7 +1089,7 @@ elseif(APPLE) | |
# Requires the darwin file implementation | |
if(SDL_FILE) | |
- file(GLOB EXTRA_SOURCES ${SDL2_SOURCE_DIR}/src/file/cocoa/*.m) | |
+ file(GLOB EXTRA_SOURCES ${PROJECT_SOURCE_DIR}/src/file/cocoa/*.m) | |
set(SOURCE_FILES ${EXTRA_SOURCES} ${SOURCE_FILES}) | |
set_source_files_properties(${EXTRA_SOURCES} PROPERTIES LANGUAGE C) | |
set(HAVE_SDL_FILE TRUE) | |
@@ -1467,20 +1405,14 @@ if(SDL_SHARED) | |
SOVERSION ${LT_REVISION} | |
OUTPUT_NAME "SDL2") | |
endif() | |
- if(MSVC) | |
- # Don't try to link with the default set of libraries. | |
- set_target_properties(SDL2 PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB") | |
- set_target_properties(SDL2 PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB") | |
- set_target_properties(SDL2 PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB") | |
- endif() | |
- set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS}) | |
- target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) | |
+ set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS}) | |
+ target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA2015_LIBS} ${EXTRA_LDFLAGS}) | |
endif() | |
if(SDL_STATIC) | |
set (BUILD_SHARED_LIBS FALSE) | |
add_library(SDL2-static STATIC ${SOURCE_FILES}) | |
- set_target_properties(SDL2-static PROPERTIES OUTPUT_NAME "SDL2") | |
+ set_target_properties(SDL2-static PROPERTIES OUTPUT_NAME "SDL2-static") | |
if(MSVC) | |
set_target_properties(SDL2-static PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB") | |
set_target_properties(SDL2-static PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB") | |
@@ -1489,7 +1421,8 @@ if(SDL_STATIC) | |
# TODO: Win32 platforms keep the same suffix .lib for import and static | |
# libraries - do we need to consider this? | |
set(_INSTALL_LIBS "SDL2-static" ${_INSTALL_LIBS}) | |
- target_link_libraries(SDL2-static ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) | |
+ #@changed tsky | |
+ target_link_libraries(SDL2-static ${EXTRA_LIBS} ${EXTRA2015_LIBS_STATIC} ${EXTRA_LDFLAGS}) | |
endif() | |
##### Installation targets ##### |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment