FindXkbcommon.cmake 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Once done these will be defined:
  2. #
  3. # XKBCOMMON_FOUND XKBCOMMON_INCLUDE_DIRS XKBCOMMON_LIBRARIES
  4. find_package(PkgConfig QUIET)
  5. if(PKG_CONFIG_FOUND)
  6. pkg_check_modules(_XKBCOMMON QUIET xkbcommon)
  7. endif()
  8. find_path(
  9. XKBCOMMON_INCLUDE_DIR
  10. NAMES xkbcommon/xkbcommon.h
  11. HINTS ${_XKBCOMMON_INCLUDE_DIRS}
  12. PATHS /usr/include /usr/local/include /opt/local/include)
  13. find_library(
  14. XKBCOMMON_LIB
  15. NAMES xkbcommon libxkbcommon
  16. HINTS ${_XKBCOMMON_LIBRARY_DIRS}
  17. PATHS /usr/lib /usr/local/lib /opt/local/lib)
  18. include(FindPackageHandleStandardArgs)
  19. find_package_handle_standard_args(Xkbcommon DEFAULT_MSG XKBCOMMON_LIB
  20. XKBCOMMON_INCLUDE_DIR)
  21. mark_as_advanced(XKBCOMMON_INCLUDE_DIR XKBCOMMON_LIB)
  22. if(XKBCOMMON_FOUND)
  23. set(XKBCOMMON_INCLUDE_DIRS ${XKBCOMMON_INCLUDE_DIR})
  24. set(XKBCOMMON_LIBRARIES ${XKBCOMMON_LIB})
  25. if(NOT TARGET Xkbcommon::Xkbcommon)
  26. if(IS_ABSOLUTE "${XKBCOMMON_LIBRARIES}")
  27. add_library(Xkbcommon::Xkbcommon UNKNOWN IMPORTED)
  28. set_target_properties(
  29. Xkbcommon::Xkbcommon PROPERTIES IMPORTED_LOCATION
  30. "${XKBCOMMON_LIBRARIES}")
  31. else()
  32. add_library(Xkbcommon::Xkbcommon INTERFACE IMPORTED)
  33. set_target_properties(
  34. Xkbcommon::Xkbcommon PROPERTIES IMPORTED_LIBNAME
  35. "${XKBCOMMON_LIBRARIES}")
  36. endif()
  37. set_target_properties(
  38. Xkbcommon::Xkbcommon PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
  39. "${XKBCOMMON_INCLUDE_DIRS}")
  40. endif()
  41. endif()