Celestia

Форк
0
/
FindWayland.cmake 
60 строк · 2.2 Кб
1
# Finds the Wayland client libraries
2
# Also supports components "protocols" and "scanner"
3

4
find_package(PkgConfig QUIET)
5

6
set(WaylandModules wayland-client)
7
if(protocols IN_LIST Wayland_FIND_COMPONENTS)
8
    list(APPEND WaylandModules wayland-protocols)
9
endif()
10

11
if(scanner IN_LIST Wayland_FIND_COMPONENTS)
12
    list(APPEND WaylandModules wayland-scanner)
13
endif()
14

15
pkg_check_modules(PKG_Wayland QUIET ${WaylandModules})
16

17
set(Wayland_VERSION ${PKG_Wayland_VERSION})
18
set(Wayland_DEFINITIONS ${PKG_Wayland_CFLAGS})
19
mark_as_advanced(Wayland_DEFINITIONS)
20

21
find_path(Wayland_CLIENT_INCLUDE_DIR NAMES wayland-client.h HINTS ${PKG_Wayland_INCLUDE_DIRS})
22
find_library(Wayland_CLIENT_LIBRARIES NAMES wayland-client HINTS ${PKG_Wayland_LIBRARY_DIRS})
23
mark_as_advanced(Wayland_CLIENT_INCLUDE_DIR Wayland_CLIENT_LIBRARIES)
24

25
if(protocols IN_LIST Wayland_FIND_COMPONENTS)
26
    pkg_get_variable(Wayland_PROTOCOLS_DATADIR wayland-protocols pkgdatadir)
27
    mark_as_advanced(Wayland_PROTOCOLS_DATADIR)
28
endif()
29

30
if(scanner IN_LIST Wayland_FIND_COMPONENTS)
31
    pkg_get_variable(Wayland_SCANNER_EXECUTABLE_DIR wayland-scanner bindir)
32
    find_program(Wayland_SCANNER_EXECUTABLE NAMES wayland-scanner HINTS ${Wayland_SCANNER_EXECUTABLE_DIR})
33
    mark_as_advanced(Wayland_SCANNER_EXECUTABLE Wayland_SCANNER_EXECUTABLE_DIR)
34
endif()
35

36
set(Wayland_INCLUDE_DIR ${Wayland_CLIENT_INCLUDE_DIR})
37
set(Wayland_LIBRARIES ${Wayland_CLIENT_LIBRARIES})
38
set(Wayland_DATADIR ${Wayland_PROTOCOLS_DATADIR})
39

40
list(REMOVE_DUPLICATES Wayland_INCLUDE_DIR)
41

42
include(FindPackageHandleStandardArgs)
43

44
find_package_handle_standard_args(Wayland
45
    FOUND_VAR Wayland_FOUND
46
    VERSION_VAR Wayland_VERSION
47
    REQUIRED_VARS Wayland_LIBRARIES)
48

49
if (Wayland_FOUND AND NOT TARGET Wayland::Client)
50
    add_library(Wayland::Client UNKNOWN IMPORTED)
51
    set_target_properties(Wayland::Client PROPERTIES
52
        INTERFACE_INCLUDE_DIRECTORIES "${Wayland_CLIENT_INCLUDE_DIR}"
53
        IMPORTED_LOCATION "${Wayland_CLIENT_LIBRARIES}")
54
endif()
55

56
if (Wayland_SCANNER_EXECUTABLE AND NOT TARGET Wayland::Scanner)
57
    add_executable(Wayland::Scanner IMPORTED)
58
    set_target_properties(Wayland::Scanner PROPERTIES
59
        IMPORTED_LOCATION "${Wayland_SCANNER_EXECUTABLE}")
60
endif()
61

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.