From fa5cd89bd8281d1531ec9b29a7a9fb25f8e7bcda Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Tue, 29 Nov 2022 16:06:27 +0100
Subject: [PATCH] cmake: no need for -lmingw32 when using
-Wl,-undefined,WinMain
---
CMakeLists.txt | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b14f033..61ad2e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -211,6 +211,13 @@ endif()
#endif()
add_library(SDL2::SDL2main ALIAS SDL2main)
target_include_directories(SDL2main PRIVATE "include/SDL2")
+if(MINGW OR CYGWIN)
+ if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ target_link_libraries(SDL2main PUBLIC "$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:-Wl,--undefined=_WinMain@16>")
+ else()
+ target_link_libraries(SDL2main PUBLIC "$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:-Wl,--undefined=WinMain>")
+ endif()
+endif()
# SDLtest library...
add_library(SDL2_test STATIC
@@ -262,11 +269,7 @@ if(SDL2COMPAT_TESTS)
macro(test_program _NAME _SRCS)
add_executable(${_NAME} ${_SRCS})
target_include_directories(${_NAME} PRIVATE "include/SDL2")
- if(MINGW)
- target_link_libraries(${_NAME} PRIVATE mingw32 SDL2main SDL2_test SDL2)
- else()
- target_link_libraries(${_NAME} PRIVATE SDL2main SDL2_test SDL2)
- endif()
+ target_link_libraries(${_NAME} PRIVATE SDL2::SDL2main SDL2::SDL2test SDL2::SDL2)
# Turn off MSVC's aggressive C runtime warnings for the old test programs.
if(MSVC)
target_compile_definitions(${_NAME} PRIVATE ${HAVE_OPENGL_DEFINE} _CRT_SECURE_NO_WARNINGS _CRT_SECURE_NO_DEPRECATE _CRT_NONSTDC_NO_DEPRECATE)