summaryrefslogtreecommitdiff
path: root/src/contrib/SDL-3.2.20/cmake/SDL3Config.cmake.in
blob: 4c6f1b69ff4f5f187ae88dbccadd884ebad7fcc1 (plain)
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# SDL cmake project-config input for CMakeLists.txt script

include(FeatureSummary)
set_package_properties(SDL3 PROPERTIES
  URL "https://www.libsdl.org/"
  DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware"
)

@PACKAGE_INIT@

set(SDL3_FOUND TRUE)
set(_sdl3_framework @SDL_FRAMEWORK@)

# Find SDL3::Headers
if(NOT TARGET SDL3::Headers)
  include("${CMAKE_CURRENT_LIST_DIR}/SDL3headersTargets.cmake")
  if(NOT CMAKE_VERSION VERSION_LESS "3.25")
    set_property(TARGET SDL3::Headers PROPERTY SYSTEM 0)
  endif()
endif()
set(SDL3_Headers_FOUND TRUE)

# Find SDL3::SDL3-shared
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3sharedTargets.cmake")
  include("${CMAKE_CURRENT_LIST_DIR}/SDL3sharedTargets.cmake")
  set(SDL3_SDL3-shared_FOUND TRUE)
endif()

macro(find_sdl3_static_dependencies)
@SDL_FIND_PKG_CONFIG_COMMANDS@
endmacro()

# Find SDL3::SDL3-static
if(_sdl3_framework)
  set(SDL3_SDL3-static_FOUND TRUE)
  find_sdl3_static_dependencies()
  find_package(SDL3-static CONFIG)
  if(SDL3_SDL3-static_FOUND AND SDL3-static_FOUND)
    set(SDL3_SDL3-static_FOUND TRUE)
  endif()
else()
  if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3staticTargets.cmake")
    set(SDL3_SDL3-static_FOUND TRUE)
    find_sdl3_static_dependencies()
    if(SDL3_SDL3-static_FOUND)
      if(ANDROID OR HAIKU)
        enable_language(CXX)
      endif()
      include("${CMAKE_CURRENT_LIST_DIR}/SDL3staticTargets.cmake")
    endif()
  endif()
endif()

if(ANDROID AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3jarTargets.cmake")
  include("${CMAKE_CURRENT_LIST_DIR}/SDL3jarTargets.cmake")
  set(SDL3_Jar_FOUND TRUE)
endif()

if(SDL3_SDL3-shared_FOUND OR SDL3_SDL3-static_FOUND)
  set(SDL3_SDL3_FOUND TRUE)
endif()

# Find SDL3::SDL3_test
if(_sdl3_framework)
  find_package(SDL3_test CONFIG)
  if(SDL3_test_FOUND)
    enable_language(OBJC)
    set(SDL3_SDL3_test_FOUND TRUE)
  endif()
else()
  if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3testTargets.cmake")
    set(SDL3_SDL3_test_FOUND TRUE)
@SDL_TEST_FIND_PKG_CONFIG_COMMANDS@
    if(SDL3_SDL3_test_FOUND)
      include("${CMAKE_CURRENT_LIST_DIR}/SDL3testTargets.cmake")
    endif()
  endif()
endif()

if(NOT SDL3_COMPONENTS AND NOT TARGET SDL3::Headers AND NOT TARGET SDL3::SDL3-shared AND NOT TARGET SDL3::SDL3-static)
    set(SDL3_FOUND FALSE)
endif()
check_required_components(SDL3)

function(_sdl_create_target_alias_compat NEW_TARGET TARGET)
  if(CMAKE_VERSION VERSION_LESS "3.18")
    # Aliasing local targets is not supported on CMake < 3.18, so make it global.
    add_library(${NEW_TARGET} INTERFACE IMPORTED)
    set_target_properties(${NEW_TARGET} PROPERTIES INTERFACE_LINK_LIBRARIES "${TARGET}")
  else()
    add_library(${NEW_TARGET} ALIAS ${TARGET})
  endif()
endfunction()

# Make sure SDL3::SDL3 always exists
if(NOT TARGET SDL3::SDL3)
  if(TARGET SDL3::SDL3-shared)
    _sdl_create_target_alias_compat(SDL3::SDL3 SDL3::SDL3-shared)
  elseif(TARGET SDL3::SDL3-static)
    _sdl_create_target_alias_compat(SDL3::SDL3 SDL3::SDL3-static)
  endif()
endif()

set(SDL3_LIBRARIES SDL3::SDL3)
set(SDL3_STATIC_LIBRARIES SDL3::SDL3-static)
set(SDL3_STATIC_PRIVATE_LIBS)

set(SDL3TEST_LIBRARY SDL3::SDL3_test)