cmake: always create SDL2::SDL2main target in autotools' cmake config script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
diff --git a/sdl2-config.cmake.in b/sdl2-config.cmake.in
index 75bd8d1..2457586 100644
--- a/sdl2-config.cmake.in
+++ b/sdl2-config.cmake.in
@@ -62,38 +62,39 @@ string(REGEX REPLACE ";-L" ";" _sdl2_static_private_libdirs "${_sdl2_static_priv
if(_sdl2_libraries MATCHES ".*SDL2main.*")
list(INSERT SDL2_LIBRARIES 0 SDL2::SDL2main)
list(INSERT SDL2_STATIC_LIBRARIES 0 SDL2::SDL2main)
- set(_sdl2main_library ${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2main${CMAKE_STATIC_LIBRARY_SUFFIX})
- if(EXISTS "${_sdl2main_library}")
- set(SDL2MAIN_LIBRARY SDL2::SDL2main)
- if(NOT TARGET SDL2::SDL2main)
- add_library(SDL2::SDL2main STATIC IMPORTED)
- set_target_properties(SDL2::SDL2main
- PROPERTIES
- IMPORTED_LOCATION "${_sdl2main_library}"
- )
- if(WIN32)
- # INTERFACE_LINK_OPTIONS needs CMake 3.13
- cmake_minimum_required(VERSION 3.13)
- # Mark WinMain/WinMain@16 as undefined, such that it will be withheld by the linker.
- if(CMAKE_SIZEOF_VOID_P EQUAL 4)
- set_target_properties(SDL2::SDL2main
- PROPERTIES
- INTERFACE_LINK_OPTIONS "-Wl,--undefined=_WinMain@16"
- )
- else()
- set_target_properties(SDL2::SDL2main
- PROPERTIES
- INTERFACE_LINK_OPTIONS "-Wl,--undefined=WinMain"
- )
- endif()
+endif()
+
+set(_sdl2main_library ${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2main${CMAKE_STATIC_LIBRARY_SUFFIX})
+if(EXISTS "${_sdl2main_library}")
+ set(SDL2MAIN_LIBRARY SDL2::SDL2main)
+ if(NOT TARGET SDL2::SDL2main)
+ add_library(SDL2::SDL2main STATIC IMPORTED)
+ set_target_properties(SDL2::SDL2main
+ PROPERTIES
+ IMPORTED_LOCATION "${_sdl2main_library}"
+ )
+ if(WIN32)
+ # INTERFACE_LINK_OPTIONS needs CMake 3.13
+ cmake_minimum_required(VERSION 3.13)
+ # Mark WinMain/WinMain@16 as undefined, such that it will be withheld by the linker.
+ if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ set_target_properties(SDL2::SDL2main
+ PROPERTIES
+ INTERFACE_LINK_OPTIONS "-Wl,--undefined=_WinMain@16"
+ )
+ else()
+ set_target_properties(SDL2::SDL2main
+ PROPERTIES
+ INTERFACE_LINK_OPTIONS "-Wl,--undefined=WinMain"
+ )
endif()
endif()
- set(SDL2_SDL2main_FOUND TRUE)
- else()
- set(SDL2_SDL2main_FOUND FALSE)
endif()
- unset(_sdl2main_library)
+ set(SDL2_SDL2main_FOUND TRUE)
+else()
+ set(SDL2_SDL2main_FOUND FALSE)
endif()
+unset(_sdl2main_library)
# Remove SDL2 since this is the "central" library
# Remove SDL2main since this will be provided by SDL2::SDL2main (if available)