summaryrefslogtreecommitdiff
path: root/src/contrib/SDL-3.2.20/cmake/SDL3Config.cmake.in
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-08-30 16:53:58 -0700
committer3gg <3gg@shellblade.net>2025-08-30 16:53:58 -0700
commit6aaedb813fa11ba0679c3051bc2eb28646b9506c (patch)
tree34acbfc9840e02cb4753e6306ea7ce978bf8b58e /src/contrib/SDL-3.2.20/cmake/SDL3Config.cmake.in
parent8f228ade99dd3d4c8da9b78ade1815c9adf85c8f (diff)
Update to SDL3
Diffstat (limited to 'src/contrib/SDL-3.2.20/cmake/SDL3Config.cmake.in')
-rw-r--r--src/contrib/SDL-3.2.20/cmake/SDL3Config.cmake.in108
1 files changed, 108 insertions, 0 deletions
diff --git a/src/contrib/SDL-3.2.20/cmake/SDL3Config.cmake.in b/src/contrib/SDL-3.2.20/cmake/SDL3Config.cmake.in
new file mode 100644
index 0000000..4c6f1b6
--- /dev/null
+++ b/src/contrib/SDL-3.2.20/cmake/SDL3Config.cmake.in
@@ -0,0 +1,108 @@
1# SDL cmake project-config input for CMakeLists.txt script
2
3include(FeatureSummary)
4set_package_properties(SDL3 PROPERTIES
5 URL "https://www.libsdl.org/"
6 DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware"
7)
8
9@PACKAGE_INIT@
10
11set(SDL3_FOUND TRUE)
12set(_sdl3_framework @SDL_FRAMEWORK@)
13
14# Find SDL3::Headers
15if(NOT TARGET SDL3::Headers)
16 include("${CMAKE_CURRENT_LIST_DIR}/SDL3headersTargets.cmake")
17 if(NOT CMAKE_VERSION VERSION_LESS "3.25")
18 set_property(TARGET SDL3::Headers PROPERTY SYSTEM 0)
19 endif()
20endif()
21set(SDL3_Headers_FOUND TRUE)
22
23# Find SDL3::SDL3-shared
24if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3sharedTargets.cmake")
25 include("${CMAKE_CURRENT_LIST_DIR}/SDL3sharedTargets.cmake")
26 set(SDL3_SDL3-shared_FOUND TRUE)
27endif()
28
29macro(find_sdl3_static_dependencies)
30@SDL_FIND_PKG_CONFIG_COMMANDS@
31endmacro()
32
33# Find SDL3::SDL3-static
34if(_sdl3_framework)
35 set(SDL3_SDL3-static_FOUND TRUE)
36 find_sdl3_static_dependencies()
37 find_package(SDL3-static CONFIG)
38 if(SDL3_SDL3-static_FOUND AND SDL3-static_FOUND)
39 set(SDL3_SDL3-static_FOUND TRUE)
40 endif()
41else()
42 if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3staticTargets.cmake")
43 set(SDL3_SDL3-static_FOUND TRUE)
44 find_sdl3_static_dependencies()
45 if(SDL3_SDL3-static_FOUND)
46 if(ANDROID OR HAIKU)
47 enable_language(CXX)
48 endif()
49 include("${CMAKE_CURRENT_LIST_DIR}/SDL3staticTargets.cmake")
50 endif()
51 endif()
52endif()
53
54if(ANDROID AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3jarTargets.cmake")
55 include("${CMAKE_CURRENT_LIST_DIR}/SDL3jarTargets.cmake")
56 set(SDL3_Jar_FOUND TRUE)
57endif()
58
59if(SDL3_SDL3-shared_FOUND OR SDL3_SDL3-static_FOUND)
60 set(SDL3_SDL3_FOUND TRUE)
61endif()
62
63# Find SDL3::SDL3_test
64if(_sdl3_framework)
65 find_package(SDL3_test CONFIG)
66 if(SDL3_test_FOUND)
67 enable_language(OBJC)
68 set(SDL3_SDL3_test_FOUND TRUE)
69 endif()
70else()
71 if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3testTargets.cmake")
72 set(SDL3_SDL3_test_FOUND TRUE)
73@SDL_TEST_FIND_PKG_CONFIG_COMMANDS@
74 if(SDL3_SDL3_test_FOUND)
75 include("${CMAKE_CURRENT_LIST_DIR}/SDL3testTargets.cmake")
76 endif()
77 endif()
78endif()
79
80if(NOT SDL3_COMPONENTS AND NOT TARGET SDL3::Headers AND NOT TARGET SDL3::SDL3-shared AND NOT TARGET SDL3::SDL3-static)
81 set(SDL3_FOUND FALSE)
82endif()
83check_required_components(SDL3)
84
85function(_sdl_create_target_alias_compat NEW_TARGET TARGET)
86 if(CMAKE_VERSION VERSION_LESS "3.18")
87 # Aliasing local targets is not supported on CMake < 3.18, so make it global.
88 add_library(${NEW_TARGET} INTERFACE IMPORTED)
89 set_target_properties(${NEW_TARGET} PROPERTIES INTERFACE_LINK_LIBRARIES "${TARGET}")
90 else()
91 add_library(${NEW_TARGET} ALIAS ${TARGET})
92 endif()
93endfunction()
94
95# Make sure SDL3::SDL3 always exists
96if(NOT TARGET SDL3::SDL3)
97 if(TARGET SDL3::SDL3-shared)
98 _sdl_create_target_alias_compat(SDL3::SDL3 SDL3::SDL3-shared)
99 elseif(TARGET SDL3::SDL3-static)
100 _sdl_create_target_alias_compat(SDL3::SDL3 SDL3::SDL3-static)
101 endif()
102endif()
103
104set(SDL3_LIBRARIES SDL3::SDL3)
105set(SDL3_STATIC_LIBRARIES SDL3::SDL3-static)
106set(SDL3_STATIC_PRIVATE_LIBS)
107
108set(SDL3TEST_LIBRARY SDL3::SDL3_test)