1
# SDL cmake project-config input for CMakeLists.txt script
4
set_package_properties(SDL3 PROPERTIES
5
URL "https://www.libsdl.org/"
6
DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware"
12
set(_sdl3_framework @SDL_FRAMEWORK@)
15
if(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)
21
set(SDL3_Headers_FOUND TRUE)
23
# Find SDL3::SDL3-shared
24
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3sharedTargets.cmake")
25
include("${CMAKE_CURRENT_LIST_DIR}/SDL3sharedTargets.cmake")
26
set(SDL3_SDL3-shared_FOUND TRUE)
29
macro(find_sdl3_static_dependencies)
30
@SDL_FIND_PKG_CONFIG_COMMANDS@
33
# Find SDL3::SDL3-static
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)
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)
49
include("${CMAKE_CURRENT_LIST_DIR}/SDL3staticTargets.cmake")
54
if(ANDROID AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3jarTargets.cmake")
55
include("${CMAKE_CURRENT_LIST_DIR}/SDL3jarTargets.cmake")
56
set(SDL3_Jar_FOUND TRUE)
59
if(SDL3_SDL3-shared_FOUND OR SDL3_SDL3-static_FOUND)
60
set(SDL3_SDL3_FOUND TRUE)
65
find_package(SDL3_test CONFIG)
68
set(SDL3_SDL3_test_FOUND TRUE)
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")
80
check_required_components(SDL3)
82
function(_sdl_create_target_alias_compat NEW_TARGET TARGET)
83
if(CMAKE_VERSION VERSION_LESS "3.18")
84
# Aliasing local targets is not supported on CMake < 3.18, so make it global.
85
add_library(${NEW_TARGET} INTERFACE IMPORTED)
86
set_target_properties(${NEW_TARGET} PROPERTIES INTERFACE_LINK_LIBRARIES "${TARGET}")
88
add_library(${NEW_TARGET} ALIAS ${TARGET})
92
# Make sure SDL3::SDL3 always exists
93
if(NOT TARGET SDL3::SDL3)
94
if(TARGET SDL3::SDL3-shared)
95
_sdl_create_target_alias_compat(SDL3::SDL3 SDL3::SDL3-shared)
97
_sdl_create_target_alias_compat(SDL3::SDL3 SDL3::SDL3-static)
101
set(SDL3_LIBRARIES SDL3::SDL3)
102
set(SDL3_STATIC_LIBRARIES SDL3::SDL3-static)
103
set(SDL3_STATIC_PRIVATE_LIBS)
105
set(SDL3TEST_LIBRARY SDL3::SDL3_test)