diff options
Diffstat (limited to 'project/cmake/modules/FindX.cmake')
| -rw-r--r-- | project/cmake/modules/FindX.cmake | 62 |
1 files changed, 49 insertions, 13 deletions
diff --git a/project/cmake/modules/FindX.cmake b/project/cmake/modules/FindX.cmake index d9ab5bc..19bb770 100644 --- a/project/cmake/modules/FindX.cmake +++ b/project/cmake/modules/FindX.cmake | |||
| @@ -1,21 +1,57 @@ | |||
| 1 | # - Try to find X11 | 1 | #.rst: |
| 2 | # Once done this will define | 2 | # FindX |
| 3 | # ----- | ||
| 4 | # Finds the X11 library | ||
| 3 | # | 5 | # |
| 4 | # X11_FOUND - system has X11 | 6 | # This will will define the following variables:: |
| 5 | # X11_INCLUDE_DIRS - the X11 include directory | 7 | # |
| 6 | # X11_LIBRARIES - The X11 libraries | 8 | # X_FOUND - system has X11 |
| 9 | # X_INCLUDE_DIRS - the X11 include directory | ||
| 10 | # X_LIBRARIES - the X11 libraries | ||
| 11 | # X_DEFINITIONS - the X11 definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # X::X - The X11 library | ||
| 16 | # X::Xext - The X11 extension library | ||
| 7 | 17 | ||
| 8 | if(PKG_CONFIG_FOUND) | 18 | if(PKG_CONFIG_FOUND) |
| 9 | pkg_check_modules (X x11 xext libdrm egl) | 19 | pkg_check_modules(PC_X x11 xext QUIET) |
| 10 | list(APPEND X_INCLUDE_DIRS /usr/include) | ||
| 11 | else() | ||
| 12 | find_path(X_INCLUDE_DIRS X11/Xlib.h) | ||
| 13 | find_library(X_LIBRARIES X11) | ||
| 14 | endif() | 20 | endif() |
| 15 | 21 | ||
| 22 | find_path(X_INCLUDE_DIR NAMES X11/Xlib.h | ||
| 23 | PATHS ${PC_X_x11_INCLUDEDIR}) | ||
| 24 | find_library(X_LIBRARY NAMES X11 | ||
| 25 | PATHS ${PC_X_x11_LIBDIR}) | ||
| 26 | find_library(X_EXT_LIBRARY NAMES Xext | ||
| 27 | PATHS ${PC_X_xext_LIBDIR}) | ||
| 28 | |||
| 29 | set(X_VERSION ${PC_X_x11_VERSION}) | ||
| 30 | |||
| 16 | include(FindPackageHandleStandardArgs) | 31 | include(FindPackageHandleStandardArgs) |
| 17 | find_package_handle_standard_args(X DEFAULT_MSG X_INCLUDE_DIRS X_LIBRARIES) | 32 | find_package_handle_standard_args(X |
| 33 | REQUIRED_VARS X_LIBRARY X_EXT_LIBRARY X_INCLUDE_DIR | ||
| 34 | VERSION_VAR X_VERSION) | ||
| 35 | |||
| 36 | if(X_FOUND) | ||
| 37 | set(X_LIBRARIES ${X_LIBRARY} ${X_EXT_LIBRARY}) | ||
| 38 | set(X_INCLUDE_DIRS ${X_INCLUDE_DIR}) | ||
| 39 | set(X_DEFINITIONS -DHAVE_X11=1) | ||
| 18 | 40 | ||
| 19 | list(APPEND X_DEFINITIONS -DHAVE_X11=1) | 41 | if(NOT TARGET X::X) |
| 42 | add_library(X::X UNKNOWN IMPORTED) | ||
| 43 | set_target_properties(X::X PROPERTIES | ||
| 44 | IMPORTED_LOCATION "${X_LIBRARY}" | ||
| 45 | INTERFACE_INCLUDE_DIRECTORIES "${X_INCLUDE_DIR}" | ||
| 46 | INTERFACE_COMPILE_DEFINITIONS HAVE_X11=1) | ||
| 47 | endif() | ||
| 48 | if(NOT TARGET X::Xext) | ||
| 49 | add_library(X::Xext UNKNOWN IMPORTED) | ||
| 50 | set_target_properties(X::Xext PROPERTIES | ||
| 51 | IMPORTED_LOCATION "${X_EXT_LIBRARY}" | ||
| 52 | INTERFACE_INCLUDE_DIRECTORIES "${X_INCLUDE_DIR}" | ||
| 53 | INTERFACE_LINK_LIBRARIES X::X) | ||
| 54 | endif() | ||
| 55 | endif() | ||
| 20 | 56 | ||
| 21 | mark_as_advanced(X_INCLUDE_DIRS X_LIBRARIES X_DEFINITIONS) | 57 | mark_as_advanced(X_INCLUDE_DIR X_LIBRARY X_EXT_LIBRARY) |
