aboutsummaryrefslogtreecommitdiff
path: root/deps/raylib/cmake/raylib-config.cmake
blob: 700965c95018f1d86ddb73199ba93002c8a34dca (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
# - Try to find raylib
# Options:
#   raylib_USE_STATIC_LIBS - OFF by default
#   raylib_VERBOSE         - OFF by default
# Once done, this defines a raylib target that can be passed to
# target_link_libraries as well as following variables:
#
#   raylib_FOUND - System has raylib installed
#   raylib_INCLUDE_DIRS - The include directories for the raylib header(s)
#   raylib_LIBRARIES - The libraries needed to use raylib
#   raylib_LDFLAGS - The linker flags needed with raylib
#   raylib_DEFINITIONS - Compiler switches required for using raylib

if (NOT TARGET raylib)
    set(XPREFIX PC_RAYLIB)

    find_package(PkgConfig QUIET)
    pkg_check_modules(${XPREFIX} QUIET raylib)

    if (raylib_USE_STATIC_LIBS)
        set(XPREFIX ${XPREFIX}_STATIC)
    endif()

    set(raylib_DEFINITIONS ${${XPREFIX}_CFLAGS})

    find_path(raylib_INCLUDE_DIR
        NAMES raylib.h
        HINTS ${${XPREFIX}_INCLUDE_DIRS}
    )

    set(RAYLIB_NAMES raylib)

    if (raylib_USE_STATIC_LIBS)
        set(RAYLIB_NAMES libraylib.a raylib.lib ${RAYLIB_NAMES})
    endif()

    find_library(raylib_LIBRARY
        NAMES ${RAYLIB_NAMES}
        HINTS ${${XPREFIX}_LIBRARY_DIRS}
    )

    set(raylib_LIBRARIES    ${raylib_LIBRARY})
    set(raylib_LIBRARY_DIRS ${${XPREFIX}_LIBRARY_DIRS})
    set(raylib_LIBRARY_DIR  ${raylib_LIBRARY_DIRS})
    set(raylib_INCLUDE_DIRS ${raylib_INCLUDE_DIR})
    set(raylib_LDFLAGS      ${${XPREFIX}_LDFLAGS})

    include(FindPackageHandleStandardArgs)
    find_package_handle_standard_args(raylib DEFAULT_MSG
        raylib_LIBRARY
        raylib_INCLUDE_DIR
    )

    mark_as_advanced(raylib_LIBRARY raylib_INCLUDE_DIR)

    if (raylib_USE_STATIC_LIBS)
      add_library(raylib STATIC IMPORTED GLOBAL)
    else()
      add_library(raylib SHARED IMPORTED GLOBAL)
    endif()
    string (REPLACE ";" " " raylib_LDFLAGS "${raylib_LDFLAGS}")

    set_target_properties(raylib
      PROPERTIES
      IMPORTED_LOCATION             "${raylib_LIBRARIES}"
      IMPORTED_IMPLIB               "${raylib_LIBRARIES}"
      INTERFACE_INCLUDE_DIRECTORIES "${raylib_INCLUDE_DIRS}"
      INTERFACE_LINK_LIBRARIES      "${raylib_LDFLAGS}"
      INTERFACE_COMPILE_OPTIONS     "${raylib_DEFINITIONS}"
    )

    if (raylib_VERBOSE)
      message(STATUS "raylib_FOUND: ${raylib_FOUND}")
      message(STATUS "raylib_INCLUDE_DIRS: ${raylib_INCLUDE_DIRS}")
      message(STATUS "raylib_LIBRARIES: ${raylib_LIBRARIES}")
      message(STATUS "raylib_LDFLAGS: ${raylib_LDFLAGS}")
      message(STATUS "raylib_DEFINITIONS: ${raylib_DEFINITIONS}")
    endif()
endif()