aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/modules/FindLibInput.cmake36
-rw-r--r--cmake/platform/linux/aml.cmake2
-rw-r--r--cmake/platform/linux/gbm.cmake2
-rw-r--r--cmake/platform/linux/rbpi.cmake2
-rw-r--r--xbmc/platform/linux/input/CMakeLists.txt11
5 files changed, 50 insertions, 3 deletions
diff --git a/cmake/modules/FindLibInput.cmake b/cmake/modules/FindLibInput.cmake
new file mode 100644
index 0000000000..b769505da1
--- /dev/null
+++ b/cmake/modules/FindLibInput.cmake
@@ -0,0 +1,36 @@
+#.rst:
+# FindLibinput
+# --------
+# Finds the libinput library
+#
+# This will define the following variables::
+#
+# LIBINPUT_FOUND - system has libinput
+# LIBINPUT_INCLUDE_DIRS - the libinput include directory
+# LIBINPUT_LIBRARIES - the libinput libraries
+# LIBINPUT_DEFINITIONS - the libinput compile definitions
+#
+
+if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_LIBINPUT libinput QUIET)
+endif()
+
+find_path(LIBINPUT_INCLUDE_DIR NAMES libinput.h
+ PATHS ${PC_LIBINPUT_INCLUDEDIR})
+
+find_library(LIBINPUT_LIBRARY NAMES input
+ PATHS ${PC_LIBINPUT_LIBDIR})
+
+set(LIBINPUT_VERSION ${PC_LIBINPUT_VERSION})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LibInput
+ REQUIRED_VARS LIBINPUT_LIBRARY LIBINPUT_INCLUDE_DIR
+ VERSION_VAR LIBINPUT_VERSION)
+
+if(LIBINPUT_FOUND)
+ set(LIBINPUT_INCLUDE_DIRS ${LIBINPUT_INCLUDE_DIR}})
+ set(LIBINPUT_LIBRARIES ${LIBINPUT_LIBRARY})
+endif()
+
+mark_as_advanced(LIBINPUT_INCLUDE_DIR LIBINPUT_LIBRARY)
diff --git a/cmake/platform/linux/aml.cmake b/cmake/platform/linux/aml.cmake
index 82e242b06a..a1512269a2 100644
--- a/cmake/platform/linux/aml.cmake
+++ b/cmake/platform/linux/aml.cmake
@@ -1,3 +1,3 @@
-set(PLATFORM_REQUIRED_DEPS OpenGLES AML EGL)
+set(PLATFORM_REQUIRED_DEPS OpenGLES AML EGL LibInput Xkbcommon)
set(APP_RENDER_SYSTEM gles)
list(APPEND PLATFORM_DEFINES -DMESA_EGL_NO_X11_HEADERS)
diff --git a/cmake/platform/linux/gbm.cmake b/cmake/platform/linux/gbm.cmake
index d8e73d0628..a0291360a4 100644
--- a/cmake/platform/linux/gbm.cmake
+++ b/cmake/platform/linux/gbm.cmake
@@ -1,4 +1,4 @@
-set(PLATFORM_REQUIRED_DEPS OpenGLES EGL GBM LibDRM)
+set(PLATFORM_REQUIRED_DEPS OpenGLES EGL GBM LibDRM LibInput Xkbcommon)
set(PLATFORM_OPTIONAL_DEPS VAAPI)
set(APP_RENDER_SYSTEM gles)
list(APPEND PLATFORM_DEFINES -DMESA_EGL_NO_X11_HEADERS -DPLATFORM_SETTINGS_FILE=gbm.xml)
diff --git a/cmake/platform/linux/rbpi.cmake b/cmake/platform/linux/rbpi.cmake
index fa9a1dccaa..3dde57dce5 100644
--- a/cmake/platform/linux/rbpi.cmake
+++ b/cmake/platform/linux/rbpi.cmake
@@ -1,3 +1,3 @@
-set(PLATFORM_REQUIRED_DEPS OpenGLES EGL MMAL)
+set(PLATFORM_REQUIRED_DEPS OpenGLES EGL MMAL LibInput Xkbcommon)
set(APP_RENDER_SYSTEM gles)
list(APPEND PLATFORM_DEFINES -D_ARMEL -DTARGET_RASPBERRY_PI)
diff --git a/xbmc/platform/linux/input/CMakeLists.txt b/xbmc/platform/linux/input/CMakeLists.txt
index c8cf402e3e..532a5d94c3 100644
--- a/xbmc/platform/linux/input/CMakeLists.txt
+++ b/xbmc/platform/linux/input/CMakeLists.txt
@@ -9,6 +9,17 @@ endif()
if(CORE_PLATFORM_NAME_LC STREQUAL rbpi OR CORE_PLATFORM_NAME_LC STREQUAL gbm OR CORE_PLATFORM_NAME_LC STREQUAL aml)
list(APPEND SOURCES LinuxInputDevices.cpp)
list(APPEND HEADERS LinuxInputDevices.h)
+ if(LIBINPUT_FOUND)
+ list(APPEND SOURCES LibInputHandler.cpp
+ LibInputKeyboard.cpp
+ LibInputPointer.cpp
+ LibInputTouch.cpp)
+
+ list(APPEND HEADERS LibInputHandler.h
+ LibInputKeyboard.h
+ LibInputPointer.h
+ LibInputTouch.h)
+ endif()
endif()
if(SOURCES)