| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
| # file Copyright.txt or https://cmake.org/licensing for details. | |
| #[=======================================================================[.rst: | |
| FindLibinput | |
| ------------ | |
| .. versionadded:: 3.14 | |
| Find libinput headers and library. | |
| Imported Targets | |
| ^^^^^^^^^^^^^^^^ | |
| ``Libinput::Libinput`` | |
| The libinput library, if found. | |
| Result Variables | |
| ^^^^^^^^^^^^^^^^ | |
| This will define the following variables in your project: | |
| ``Libinput_FOUND`` | |
| true if (the requested version of) libinput is available. | |
| ``Libinput_VERSION`` | |
| the version of libinput. | |
| ``Libinput_LIBRARIES`` | |
| the libraries to link against to use libinput. | |
| ``Libinput_INCLUDE_DIRS`` | |
| where to find the libinput headers. | |
| ``Libinput_COMPILE_OPTIONS`` | |
| this should be passed to target_compile_options(), if the | |
| target is not used for linking | |
| #]=======================================================================] | |
| # Use pkg-config to get the directories and then use these values | |
| # in the FIND_PATH() and FIND_LIBRARY() calls | |
| find_package(PkgConfig QUIET) | |
| pkg_check_modules(PKG_Libinput QUIET libinput) | |
| set(Libinput_COMPILE_OPTIONS ${PKG_Libinput_CFLAGS_OTHER}) | |
| set(Libinput_VERSION ${PKG_Libinput_VERSION}) | |
| find_path(Libinput_INCLUDE_DIR | |
| NAMES | |
| libinput.h | |
| HINTS | |
| ${PKG_Libinput_INCLUDE_DIRS} | |
| ) | |
| find_library(Libinput_LIBRARY | |
| NAMES | |
| input | |
| HINTS | |
| ${PKG_Libinput_LIBRARY_DIRS} | |
| ) | |
| include(FindPackageHandleStandardArgs) | |
| find_package_handle_standard_args(Libinput | |
| FOUND_VAR | |
| Libinput_FOUND | |
| REQUIRED_VARS | |
| Libinput_LIBRARY | |
| Libinput_INCLUDE_DIR | |
| VERSION_VAR | |
| Libinput_VERSION | |
| ) | |
| if(Libinput_FOUND AND NOT TARGET Libinput::Libinput) | |
| add_library(Libinput::Libinput UNKNOWN IMPORTED) | |
| set_target_properties(Libinput::Libinput PROPERTIES | |
| IMPORTED_LOCATION "${Libinput_LIBRARY}" | |
| INTERFACE_COMPILE_OPTIONS "${Libinput_COMPILE_OPTIONS}" | |
| INTERFACE_INCLUDE_DIRECTORIES "${Libinput_INCLUDE_DIR}" | |
| ) | |
| endif() | |
| mark_as_advanced(Libinput_LIBRARY Libinput_INCLUDE_DIR) | |
| if(Libinput_FOUND) | |
| set(Libinput_LIBRARIES ${Libinput_LIBRARY}) | |
| set(Libinput_INCLUDE_DIRS ${Libinput_INCLUDE_DIR}) | |
| endif() |