Commit 407867cf7262a45952d095b9a22af14b22878df9

Ivan Epifanov 2021-07-13T13:47:08

Alias SDL2::SDL2 to SDL2::SDL2-static on static-only builds

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/SDL2Config.cmake b/SDL2Config.cmake
index 4c9dbab..e24fa79 100644
--- a/SDL2Config.cmake
+++ b/SDL2Config.cmake
@@ -1,5 +1,14 @@
 include("${CMAKE_CURRENT_LIST_DIR}/SDL2Targets.cmake")
 
+# on static-only builds create an alias
+if(NOT TARGET SDL2::SDL2 AND TARGET SDL2::SDL2-static)
+  if(CMAKE_VERSION VERSION_LESS "3.18")
+      # Aliasing local targets is not supported on CMake < 3.18, so make it global.
+      set_target_properties(SDL2::SDL2-static PROPERTIES IMPORTED_GLOBAL TRUE)
+  endif()
+  add_library(SDL2::SDL2 ALIAS SDL2::SDL2-static)
+endif()
+
 # provide ${SDL2_LIBRARIES}, ${SDL2_INCLUDE_DIRS} etc, like sdl2-config.cmake does,
 # for compatibility between SDL2 built with autotools and SDL2 built with CMake