From f18db41f8586e60460649b4032cc8b6c01700441 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Mon, 11 Feb 2019 15:47:04 +0100 Subject: [PATCH] cmake: Find tslib and build the tslib plugin if found Change-Id: I7119ddf473a3ede29bbfef23cffb08a4fcbd5681 Reviewed-by: Tobias Hunger --- cmake/FindTslib.cmake | 3 +++ src/gui/configure.cmake | 6 +++--- src/platformsupport/input/CMakeLists.txt | 5 ++++- src/plugins/generic/CMakeLists.txt | 2 +- src/plugins/generic/tslib/CMakeLists.txt | 19 +++++++++++++++++++ util/cmake/configurejson2cmake.py | 1 + 6 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 cmake/FindTslib.cmake create mode 100644 src/plugins/generic/tslib/CMakeLists.txt diff --git a/cmake/FindTslib.cmake b/cmake/FindTslib.cmake new file mode 100644 index 00000000000..979291a5f62 --- /dev/null +++ b/cmake/FindTslib.cmake @@ -0,0 +1,3 @@ +find_package(PkgConfig) + +pkg_check_modules(Tslib tslib IMPORTED_TARGET) diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake index 98eb8bba9d9..3d5db4aa657 100644 --- a/src/gui/configure.cmake +++ b/src/gui/configure.cmake @@ -54,6 +54,8 @@ find_package(JPEG) set_package_properties(JPEG PROPERTIES TYPE OPTIONAL) find_package(PNG) set_package_properties(PNG PROPERTIES TYPE OPTIONAL) +find_package(Tslib) +set_package_properties(Tslib PROPERTIES TYPE OPTIONAL) find_package(Vulkan) set_package_properties(Vulkan PROPERTIES TYPE OPTIONAL) find_package(Wayland) @@ -436,8 +438,6 @@ XCloseDisplay(d); " ) - - #### Features qt_feature("accessibility_atspi_bridge" PUBLIC PRIVATE @@ -691,7 +691,7 @@ qt_feature("sessionmanager" PUBLIC qt_feature_definition("sessionmanager" "QT_NO_SESSIONMANAGER" NEGATE VALUE "1") qt_feature("tslib" PRIVATE LABEL "tslib" - CONDITION libs.tslib OR FIXME + CONDITION Tslib_FOUND ) qt_feature("tuiotouch" PRIVATE LABEL "TuioTouch" diff --git a/src/platformsupport/input/CMakeLists.txt b/src/platformsupport/input/CMakeLists.txt index c4aa6e1ccf7..dc5b25c9ce9 100644 --- a/src/platformsupport/input/CMakeLists.txt +++ b/src/platformsupport/input/CMakeLists.txt @@ -6,6 +6,9 @@ set_package_properties(Libinput PROPERTIES TYPE OPTIONAL) find_package(XKB) set_package_properties(XKB PROPERTIES TYPE OPTIONAL) +find_package(Tslib) +set_package_properties(Tslib PROPERTIES TYPE OPTIONAL) + ##################################################################### ## InputSupport Module: ##################################################################### @@ -65,7 +68,7 @@ extend_target(InputSupport CONDITION QT_FEATURE_tslib SOURCES tslib/qtslib.cpp tslib/qtslib_p.h LIBRARIES - tslib + PkgConfig::Tslib ) extend_target(InputSupport CONDITION QT_FEATURE_libinput diff --git a/src/plugins/generic/CMakeLists.txt b/src/plugins/generic/CMakeLists.txt index 616e9406933..8fa648006ac 100644 --- a/src/plugins/generic/CMakeLists.txt +++ b/src/plugins/generic/CMakeLists.txt @@ -10,7 +10,7 @@ if(QT_FEATURE_evdev) endif() if(QT_FEATURE_tslib) -# TODO add_subdirectory(tslib) + add_subdirectory(tslib) endif() if(QT_FEATURE_tuiotouch) diff --git a/src/plugins/generic/tslib/CMakeLists.txt b/src/plugins/generic/tslib/CMakeLists.txt new file mode 100644 index 00000000000..33ee2a9564a --- /dev/null +++ b/src/plugins/generic/tslib/CMakeLists.txt @@ -0,0 +1,19 @@ +# Generated from tslib.pro. + +##################################################################### +## qtslibplugin Plugin: +##################################################################### + +add_qt_plugin(qtslibplugin + TYPE generic + SOURCES + main.cpp + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::InputSupportPrivate + # OTHER_FILES = "tslib.json" + # PLUGIN_CLASS_NAME = "QTsLibPlugin" + # PLUGIN_EXTENDS = "-" + # _LOADED = "qt_plugin" +) diff --git a/util/cmake/configurejson2cmake.py b/util/cmake/configurejson2cmake.py index 770f7588a3e..c26a90d4f59 100755 --- a/util/cmake/configurejson2cmake.py +++ b/util/cmake/configurejson2cmake.py @@ -78,6 +78,7 @@ def map_library(lib: str) -> Union[str, LibraryMapping, List[str]]: 'pps': 'PPS', 'slog2': 'Slog2', 'sun_iconv': None, + 'tslib': 'Tslib', 'udev': 'Libudev', 'vulkan': 'Vulkan', 'wayland_server': 'Wayland',