FindXrandr.cmake 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # - try to find the Xrandr library
  2. #
  3. # Cache Variables: (probably not for direct use in your scripts)
  4. # Xrandr_INCLUDE_DIR
  5. # Xrandr_SOURCE_DIR
  6. # Xrandr_LIBRARY
  7. #
  8. # Non-cache variables you might use in your CMakeLists.txt:
  9. # Xrandr_FOUND
  10. # Xrandr_INCLUDE_DIRS
  11. # Xrandr_LIBRARIES
  12. #
  13. # Requires these CMake modules:
  14. # FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
  15. #
  16. # Original Author:
  17. # 2014 Kevin M. Godby <kevin@godby.org>
  18. #
  19. # Distributed under the Boost Software License, Version 1.0.
  20. # (See accompanying file LICENSE_1_0.txt or copy at
  21. # http://www.boost.org/LICENSE_1_0.txt)
  22. set(Xrandr_ROOT_DIR
  23. "${Xrandr_ROOT_DIR}"
  24. CACHE
  25. PATH
  26. "Directory to search for Xrandr")
  27. find_package(PkgConfig QUIET)
  28. if(PKG_CONFIG_FOUND)
  29. pkg_check_modules(PC_LIBXRANDR xrandr)
  30. endif()
  31. find_library(Xrandr_LIBRARY
  32. NAMES
  33. Xrandr
  34. PATHS
  35. ${PC_LIBXRANDR_LIBRARY_DIRS}
  36. ${PC_LIBXRANDR_LIBDIR}
  37. HINTS
  38. "${Xrandr_ROOT_DIR}"
  39. PATH_SUFFIXES
  40. lib
  41. )
  42. get_filename_component(_libdir "${Xrandr_LIBRARY}" PATH)
  43. find_path(Xrandr_INCLUDE_DIR
  44. NAMES
  45. Xrandr.h
  46. PATHS
  47. ${PC_LIBXRANDR_INCLUDE_DIRS}
  48. ${PC_LIBXRANDR_INCLUDEDIR}
  49. HINTS
  50. "${_libdir}"
  51. "${_libdir}/.."
  52. "${Xrandr_ROOT_DIR}"
  53. PATH_SUFFIXES
  54. X11
  55. X11/extensions
  56. )
  57. include(FindPackageHandleStandardArgs)
  58. find_package_handle_standard_args(Xrandr
  59. DEFAULT_MSG
  60. Xrandr_LIBRARY
  61. Xrandr_INCLUDE_DIR
  62. )
  63. if(Xrandr_FOUND)
  64. list(APPEND Xrandr_LIBRARIES ${Xrandr_LIBRARY})
  65. list(APPEND Xrandr_INCLUDE_DIRS ${Xrandr_INCLUDE_DIR})
  66. mark_as_advanced(Xrandr_ROOT_DIR)
  67. endif()
  68. mark_as_advanced(Xrandr_INCLUDE_DIR
  69. Xrandr_LIBRARY)