File: FindSDL2.cmake

package info (click to toggle)
ddnet 19.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 68,960 kB
  • sloc: cpp: 195,050; ansic: 58,572; python: 5,568; asm: 946; sh: 941; java: 366; xml: 206; makefile: 31
file content (52 lines) | stat: -rw-r--r-- 1,586 bytes parent folder | download | duplicates (2)
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
if(NOT CMAKE_CROSSCOMPILING)
  find_package(PkgConfig QUIET)
  pkg_check_modules(PC_SDL2 sdl2)
endif()

set_extra_dirs_lib(SDL2 sdl)
find_library(SDL2_LIBRARY
  NAMES SDL2
  HINTS ${HINTS_SDL2_LIBDIR} ${PC_SDL2_LIBDIR} ${PC_SDL2_LIBRARY_DIRS}
  PATHS ${PATHS_SDL2_LIBDIR}
  ${CROSSCOMPILING_NO_CMAKE_SYSTEM_PATH}
)
if(PREFER_BUNDLED_LIBS)
  set(CMAKE_FIND_FRAMEWORK FIRST)
else()
  set(CMAKE_FIND_FRAMEWORK LAST)
endif()
set_extra_dirs_include(SDL2 sdl "${SDL2_LIBRARY}")
# Looking for 'SDL.h' directly might accidentally find a SDL instead of SDL 2
# installation. Look for a header file only present in SDL 2 instead.
find_path(SDL2_INCLUDEDIR SDL_assert.h
  PATH_SUFFIXES SDL2
  HINTS ${HINTS_SDL2_INCLUDEDIR} ${PC_SDL2_INCLUDEDIR} ${PC_SDL2_INCLUDE_DIRS}
  PATHS ${PATHS_SDL2_INCLUDEDIR}
  ${CROSSCOMPILING_NO_CMAKE_SYSTEM_PATH}
)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SDL2 DEFAULT_MSG SDL2_LIBRARY SDL2_INCLUDEDIR)

mark_as_advanced(SDL2_LIBRARY SDL2_INCLUDEDIR)

if(SDL2_FOUND)
  set(SDL2_LIBRARIES ${SDL2_LIBRARY})
  set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDEDIR})

  is_bundled(SDL2_BUNDLED "${SDL2_LIBRARY}")
  set(SDL2_COPY_FILES)
  set(SDL2_COPY_DIRS)
  if(SDL2_BUNDLED)
    if(TARGET_OS STREQUAL "windows")
      set(SDL2_COPY_FILES "${EXTRA_SDL2_LIBDIR}/SDL2.dll")
      if(TARGET_BITS EQUAL 32)
        list(APPEND OPUSFILE_COPY_FILES
          "${EXTRA_SDL2_LIBDIR}/libgcc_s_dw2-1.dll"
        )
      endif()
    elseif(TARGET_OS STREQUAL "mac")
      set(SDL2_COPY_DIRS "${EXTRA_SDL2_LIBDIR}/SDL2.framework")
    endif()
  endif()
endif()