Warning, /plasma/kwin/cmake/modules/FindXKB.cmake is written in an unsupported language. File is not indexed.
0001 #.rst:
0002 # FindXKB
0003 # -------
0004 #
0005 # Try to find xkbcommon on a Unix system
0006 # If found, this will define the following variables:
0007 #
0008 # ``XKB_FOUND``
0009 # True if XKB is available
0010 # ``XKB_LIBRARIES``
0011 # Link these to use XKB
0012 # ``XKB_INCLUDE_DIRS``
0013 # Include directory for XKB
0014 # ``XKB_DEFINITIONS``
0015 # Compiler flags for using XKB
0016 #
0017 # Additionally, the following imported targets will be defined:
0018 #
0019 # ``XKB::XKB``
0020 # The XKB library
0021
0022 #=============================================================================
0023 # SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
0024 #
0025 # SPDX-License-Identifier: BSD-3-Clause
0026 #=============================================================================
0027
0028 if(CMAKE_VERSION VERSION_LESS 2.8.12)
0029 message(FATAL_ERROR "CMake 2.8.12 is required by FindXKB.cmake")
0030 endif()
0031 if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12)
0032 message(AUTHOR_WARNING "Your project should require at least CMake 2.8.12 to use FindXKB.cmake")
0033 endif()
0034
0035 if(NOT WIN32)
0036 # Use pkg-config to get the directories and then use these values
0037 # in the FIND_PATH() and FIND_LIBRARY() calls
0038 find_package(PkgConfig)
0039 pkg_check_modules(PKG_XKB QUIET xkbcommon)
0040
0041 set(XKB_DEFINITIONS ${PKG_XKB_CFLAGS_OTHER})
0042
0043 find_path(XKB_INCLUDE_DIR
0044 NAMES
0045 xkbcommon/xkbcommon.h
0046 HINTS
0047 ${PKG_XKB_INCLUDE_DIRS}
0048 )
0049 find_library(XKB_LIBRARY
0050 NAMES
0051 xkbcommon
0052 HINTS
0053 ${PKG_XKB_LIBRARY_DIRS}
0054 )
0055
0056 set(XKB_LIBRARIES ${XKB_LIBRARY})
0057 set(XKB_INCLUDE_DIRS ${XKB_INCLUDE_DIR})
0058 set(XKB_VERSION ${PKG_XKB_VERSION})
0059
0060 include(FindPackageHandleStandardArgs)
0061 find_package_handle_standard_args(XKB
0062 FOUND_VAR
0063 XKB_FOUND
0064 REQUIRED_VARS
0065 XKB_LIBRARY
0066 XKB_INCLUDE_DIR
0067 VERSION_VAR
0068 XKB_VERSION
0069 )
0070
0071 if(XKB_FOUND AND NOT TARGET XKB::XKB)
0072 add_library(XKB::XKB UNKNOWN IMPORTED)
0073 set_target_properties(XKB::XKB PROPERTIES
0074 IMPORTED_LOCATION "${XKB_LIBRARY}"
0075 INTERFACE_COMPILE_OPTIONS "${XKB_DEFINITIONS}"
0076 INTERFACE_INCLUDE_DIRECTORIES "${XKB_INCLUDE_DIR}"
0077 )
0078 endif()
0079
0080 else()
0081 message(STATUS "FindXKB.cmake cannot find XKB on Windows systems.")
0082 set(XKB_FOUND FALSE)
0083 endif()
0084
0085 include(FeatureSummary)
0086 set_package_properties(XKB PROPERTIES
0087 URL "https://xkbcommon.org"
0088 DESCRIPTION "XKB API common to servers and clients"
0089 )