diff options
Diffstat (limited to 'project/cmake/modules/FindXRandR.cmake')
| -rw-r--r-- | project/cmake/modules/FindXRandR.cmake | 51 |
1 files changed, 38 insertions, 13 deletions
diff --git a/project/cmake/modules/FindXRandR.cmake b/project/cmake/modules/FindXRandR.cmake index 57ff750..9feaedc 100644 --- a/project/cmake/modules/FindXRandR.cmake +++ b/project/cmake/modules/FindXRandR.cmake | |||
| @@ -1,22 +1,47 @@ | |||
| 1 | # - Try to find xrandr | 1 | #.rst: |
| 2 | # Once done this will define | 2 | # FindXRandR |
| 3 | # ---------- | ||
| 4 | # Finds the XRandR library | ||
| 3 | # | 5 | # |
| 4 | # XRANDR_FOUND - system has lixrandr | 6 | # This will will define the following variables:: |
| 5 | # XRANDR_INCLUDE_DIRS - the libxrandr include directory | 7 | # |
| 6 | # XRANDR_LIBRARIES - The libxrandr libraries | 8 | # XRANDR_FOUND - system has XRANDR |
| 9 | # XRANDR_INCLUDE_DIRS - the XRANDR include directory | ||
| 10 | # XRANDR_LIBRARIES - the XRANDR libraries | ||
| 11 | # XRANDR_DEFINITIONS - the XRANDR definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # XRandR::XRandR - The XRANDR library | ||
| 7 | 16 | ||
| 8 | if(PKG_CONFIG_FOUND) | 17 | if(PKG_CONFIG_FOUND) |
| 9 | pkg_check_modules (XRANDR xrandr) | 18 | pkg_check_modules(PC_XRANDR xrandr QUIET) |
| 10 | list(APPEND XRANDR_INCLUDE_DIRS ${XRANDR_INCLUDEDIR}) | ||
| 11 | else() | ||
| 12 | find_library(XRANDR_LIBRARIES Xrandr) | ||
| 13 | endif() | 19 | endif() |
| 14 | 20 | ||
| 15 | if(XRANDR_FOUND) | 21 | find_path(XRANDR_INCLUDE_DIR NAMES X11/extensions/Xrandr.h |
| 22 | PATHS ${PC_XRANDR_INCLUDEDIR}) | ||
| 23 | find_library(XRANDR_LIBRARY NAMES Xrandr | ||
| 24 | PATHS ${PC_XRANDR_LIBDIR}) | ||
| 25 | |||
| 26 | set(XRANDR_VERSION ${PC_XRANDR_VERSION}) | ||
| 27 | |||
| 16 | include(FindPackageHandleStandardArgs) | 28 | include(FindPackageHandleStandardArgs) |
| 17 | find_package_handle_standard_args(XRandR DEFAULT_MSG XRANDR_INCLUDE_DIRS XRANDR_LIBRARIES) | 29 | find_package_handle_standard_args(XRandR |
| 30 | REQUIRED_VARS XRANDR_LIBRARY XRANDR_INCLUDE_DIR | ||
| 31 | VERSION_VAR XRANDR_VERSION) | ||
| 18 | 32 | ||
| 19 | list(APPEND XRANDR_DEFINITIONS -DHAVE_LIBXRANDR=1) | 33 | if(XRANDR_FOUND) |
| 34 | set(XRANDR_LIBRARIES ${XRANDR_LIBRARY}) | ||
| 35 | set(XRANDR_INCLUDE_DIRS ${XRANDR_INCLUDE_DIR}) | ||
| 36 | set(XRANDR_DEFINITIONS -DHAVE_LIBXRANDR=1) | ||
| 20 | 37 | ||
| 21 | mark_as_advanced(XRANDR_INCLUDE_DIRS XRANDR_LIBRARIES XRANDR_DEFINITIONS) | 38 | if(NOT TARGET XRandR::XRandR) |
| 39 | add_library(XRandR::XRandR UNKNOWN IMPORTED) | ||
| 40 | set_target_properties(XRandR::XRandR PROPERTIES | ||
| 41 | IMPORTED_LOCATION "${XRANDR_LIBRARY}" | ||
| 42 | INTERFACE_INCLUDE_DIRECTORIES "${XRANDR_INCLUDE_DIR}" | ||
| 43 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBXRANDR=1) | ||
| 44 | endif() | ||
| 22 | endif() | 45 | endif() |
| 46 | |||
| 47 | mark_as_advanced(XRANDR_INCLUDE_DIR XRANDR_LIBRARY) | ||
