FindXkbcommon.cmake 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 XKBCOMMON_INCLUDE_DIR)
  20. mark_as_advanced(XKBCOMMON_INCLUDE_DIR XKBCOMMON_LIB)
  21. if(XKBCOMMON_FOUND)
  22. set(XKBCOMMON_INCLUDE_DIRS ${XKBCOMMON_INCLUDE_DIR})
  23. set(XKBCOMMON_LIBRARIES ${XKBCOMMON_LIB})
  24. if(NOT TARGET Xkbcommon::Xkbcommon)
  25. if(IS_ABSOLUTE "${XKBCOMMON_LIBRARIES}")
  26. add_library(Xkbcommon::Xkbcommon UNKNOWN IMPORTED)
  27. set_target_properties(Xkbcommon::Xkbcommon PROPERTIES IMPORTED_LOCATION "${XKBCOMMON_LIBRARIES}")
  28. else()
  29. add_library(Xkbcommon::Xkbcommon INTERFACE IMPORTED)
  30. set_target_properties(Xkbcommon::Xkbcommon PROPERTIES IMPORTED_LIBNAME "${XKBCOMMON_LIBRARIES}")
  31. endif()
  32. set_target_properties(Xkbcommon::Xkbcommon PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${XKBCOMMON_INCLUDE_DIRS}")
  33. endif()
  34. endif()