39 lines
1.3 KiB
CMake
39 lines
1.3 KiB
CMake
|
# - Try to find XKBCommon
|
||
|
# Once done, this will define
|
||
|
#
|
||
|
# XKBCOMMON_FOUND - System has XKBCommon
|
||
|
# XKBCOMMON_INCLUDE_DIRS - The XKBCommon include directories
|
||
|
# XKBCOMMON_LIBRARIES - The libraries needed to use XKBCommon
|
||
|
# XKBCOMMON_DEFINITIONS - Compiler switches required for using XKBCommon
|
||
|
|
||
|
find_package(PkgConfig)
|
||
|
pkg_check_modules(PC_XKBCOMMON QUIET xkbcommon)
|
||
|
set(XKBCOMMON_DEFINITIONS ${PC_XKBCOMMON_CFLAGS_OTHER})
|
||
|
|
||
|
find_path(XKBCOMMON_INCLUDE_DIR
|
||
|
NAMES xkbcommon/xkbcommon.h
|
||
|
HINTS ${PC_XKBCOMMON_INCLUDE_DIR} ${PC_XKBCOMMON_INCLUDE_DIRS}
|
||
|
)
|
||
|
|
||
|
find_library(XKBCOMMON_LIBRARY
|
||
|
NAMES xkbcommon
|
||
|
HINTS ${PC_XKBCOMMON_LIBRARY} ${PC_XKBCOMMON_LIBRARY_DIRS}
|
||
|
)
|
||
|
|
||
|
set(XKBCOMMON_LIBRARIES ${XKBCOMMON_LIBRARY})
|
||
|
set(XKBCOMMON_LIBRARY_DIRS ${XKBCOMMON_LIBRARY_DIRS})
|
||
|
set(XKBCOMMON_INCLUDE_DIRS ${XKBCOMMON_INCLUDE_DIR})
|
||
|
|
||
|
include(FindPackageHandleStandardArgs)
|
||
|
find_package_handle_standard_args(XKBCommon DEFAULT_MSG
|
||
|
XKBCOMMON_LIBRARY
|
||
|
XKBCOMMON_INCLUDE_DIR
|
||
|
)
|
||
|
|
||
|
mark_as_advanced(XKBCOMMON_LIBRARY XKBCOMMON_INCLUDE_DIR)
|
||
|
|
||
|
if (XKBCOMMON_INCLUDE_DIR AND XKBCOMMON_LIBRARY AND NOT TARGET XKBCommon::XKBCommon)
|
||
|
add_library(XKBCommon::XKBCommon UNKNOWN IMPORTED)
|
||
|
set_target_properties(XKBCommon::XKBCommon PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${XKBCOMMON_INCLUDE_DIR}" IMPORTED_LOCATION "${XKBCOMMON_LIBRARY}")
|
||
|
endif()
|