mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-12-23 18:39:48 +01:00
72 lines
2.6 KiB
CMake
72 lines
2.6 KiB
CMake
#.rst:
|
|
# FindLibInput
|
|
# -------
|
|
#
|
|
# Find LibInput library
|
|
#
|
|
# Try to find LibInpu library. The following values are defined
|
|
#
|
|
# ::
|
|
#
|
|
# LIBINPUT_FOUND - True if libinput is available
|
|
# LIBINPUT_INCLUDE_DIRS - Include directories for libinput
|
|
# LIBINPUT_LIBRARIES - List of libraries for libinput
|
|
# LIBINPUT_DEFINITIONS - List of definitions for libinput
|
|
#
|
|
# and also the following more fine grained variables
|
|
#
|
|
# ::
|
|
#
|
|
# LIBINPUT_VERSION
|
|
# LIBINPUT_VERSION_MAJOR
|
|
# LIBINPUT_VERSION_MINOR
|
|
# LIBINPUT_VERSION_MICRO
|
|
#
|
|
#=============================================================================
|
|
# Copyright (c) 2015 Jari Vetoniemi
|
|
#
|
|
# Distributed under the OSI-approved BSD License (the "License");
|
|
#
|
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
# See the License for more information.
|
|
#=============================================================================
|
|
|
|
include(FeatureSummary)
|
|
set_package_properties(LibInput PROPERTIES
|
|
URL "http://freedesktop.org/wiki/Software/libinput/"
|
|
DESCRIPTION "Library to handle input devices")
|
|
|
|
find_package(PkgConfig)
|
|
pkg_check_modules(PC_INPUT QUIET libinput)
|
|
find_library(LIBINPUT_LIBRARIES NAMES input HINTS ${PC_INPUT_LIBRARY_DIRS})
|
|
find_path(LIBINPUT_INCLUDE_DIRS libinput.h HINTS ${PC_INPUT_INCLUDE_DIRS})
|
|
|
|
set(LIBINPUT_VERSION ${PC_INPUT_VERSION})
|
|
string(REPLACE "." ";" VERSION_LIST "${PC_INPUT_VERSION}")
|
|
|
|
LIST(LENGTH VERSION_LIST n)
|
|
if (n EQUAL 3)
|
|
list(GET VERSION_LIST 0 LIBINPUT_VERSION_MAJOR)
|
|
list(GET VERSION_LIST 1 LIBINPUT_VERSION_MINOR)
|
|
list(GET VERSION_LIST 2 LIBINPUT_VERSION_MICRO)
|
|
else ()
|
|
set(LIBINPUT_VERSION "9999.9999.9999")
|
|
set(LIBINPUT_VERSION_MAJOR 9999)
|
|
set(LIBINPUT_VERSION_MINOR 9999)
|
|
set(LIBINPUT_VERSION_MICRO 9999)
|
|
message(WARNING "Could not detect libinput version, assuming you have recent one")
|
|
endif ()
|
|
|
|
# This is compatible with libinput-version.h that exists in upstream
|
|
# but isn't in distribution (probably forgotten)
|
|
set(LIBINPUT_DEFINITIONS ${PC_INPUT_CFLAGS_OTHER}
|
|
-DLIBINPUT_VERSION=\"${LIBINPUT_VERSION}\"
|
|
-DLIBINPUT_VERSION_MAJOR=${LIBINPUT_VERSION_MAJOR}
|
|
-DLIBINPUT_VERSION_MINOR=${LIBINPUT_VERSION_MINOR}
|
|
-DLIBINPUT_VERSION_MICRO=${LIBINPUT_VERSION_MICRO})
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(LIBINPUT DEFAULT_MSG LIBINPUT_INCLUDE_DIRS LIBINPUT_LIBRARIES)
|
|
mark_as_advanced(LIBINPUT_INCLUDE_DIRS LIBINPUT_LIBRARIES LIBINPUT_DEFINITIONS
|
|
LIBINPUT_VERSION LIBINPUT_VERSION_MAJOR LIBINPUT_VERSION_MICRO LIBINPUT_VERSION_MINOR)
|