diff options
-rw-r--r-- | cmake/modules/FindLibInput.cmake | 36 | ||||
-rw-r--r-- | cmake/platform/linux/aml.cmake | 2 | ||||
-rw-r--r-- | cmake/platform/linux/gbm.cmake | 2 | ||||
-rw-r--r-- | cmake/platform/linux/rbpi.cmake | 2 | ||||
-rw-r--r-- | xbmc/platform/linux/input/CMakeLists.txt | 11 |
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) |