Require libinput and udev
Summary: The main reason for not having it as a mandatory dependency was that BSD doesn't support it. But as I learned recently it is available on our CI system. So BSDs have support now. Even more it showed that the code doesn't compile if the dependency is missing. And there's one thing I hate: broken build configuration options. So let's make UDEV and libinput a required dependency and get rid of the problems. Test Plan: Compiles Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #plasma Differential Revision: https://phabricator.kde.org/D10057
This commit is contained in:
parent
45bdd8a342
commit
bbf00fdd98
13 changed files with 40 additions and 133 deletions
|
@ -176,27 +176,19 @@ set_package_properties(XKB PROPERTIES
|
|||
)
|
||||
|
||||
find_package(Libinput 1.9)
|
||||
set_package_properties(Libinput PROPERTIES TYPE OPTIONAL PURPOSE "Required for input handling on Wayland.")
|
||||
set_package_properties(Libinput PROPERTIES TYPE REQUIRED PURPOSE "Required for input handling on Wayland.")
|
||||
|
||||
find_package(UDev)
|
||||
set_package_properties(UDev PROPERTIES URL "http://www.freedesktop.org/software/systemd/libudev/"
|
||||
DESCRIPTION "Linux device library."
|
||||
TYPE OPTIONAL
|
||||
TYPE REQUIRED
|
||||
PURPOSE "Required for input handling on Wayland."
|
||||
)
|
||||
set(HAVE_INPUT FALSE)
|
||||
if (Libinput_FOUND AND UDEV_FOUND)
|
||||
set(HAVE_INPUT TRUE)
|
||||
endif()
|
||||
set(HAVE_UDEV FALSE)
|
||||
if (UDEV_FOUND)
|
||||
set(HAVE_UDEV TRUE)
|
||||
endif()
|
||||
|
||||
find_package(Libdrm 2.4.62)
|
||||
set_package_properties(Libdrm PROPERTIES TYPE OPTIONAL PURPOSE "Required for drm output on Wayland.")
|
||||
set(HAVE_DRM FALSE)
|
||||
if(Libdrm_FOUND AND UDEV_FOUND)
|
||||
if(Libdrm_FOUND)
|
||||
set(HAVE_DRM TRUE)
|
||||
endif()
|
||||
|
||||
|
@ -482,6 +474,12 @@ set(kwin_KDEINIT_SRCS
|
|||
rootinfo_filter.cpp
|
||||
orientation_sensor.cpp
|
||||
idle_inhibition.cpp
|
||||
libinput/context.cpp
|
||||
libinput/connection.cpp
|
||||
libinput/device.cpp
|
||||
libinput/events.cpp
|
||||
libinput/libinput_logging.cpp
|
||||
udev.cpp
|
||||
)
|
||||
|
||||
include(ECMQtDeclareLoggingCategory)
|
||||
|
@ -518,28 +516,11 @@ if(KWIN_BUILD_ACTIVITIES)
|
|||
)
|
||||
endif()
|
||||
|
||||
if(UDEV_FOUND)
|
||||
set(kwin_KDEINIT_SRCS
|
||||
${kwin_KDEINIT_SRCS}
|
||||
udev.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
if(HAVE_INPUT)
|
||||
set(kwin_KDEINIT_SRCS
|
||||
${kwin_KDEINIT_SRCS}
|
||||
libinput/context.cpp
|
||||
libinput/connection.cpp
|
||||
libinput/device.cpp
|
||||
libinput/events.cpp
|
||||
libinput/libinput_logging.cpp
|
||||
)
|
||||
if (HAVE_LINUX_VT_H)
|
||||
set(kwin_KDEINIT_SRCS
|
||||
${kwin_KDEINIT_SRCS}
|
||||
virtual_terminal.cpp
|
||||
)
|
||||
endif()
|
||||
if (HAVE_LINUX_VT_H)
|
||||
set(kwin_KDEINIT_SRCS
|
||||
${kwin_KDEINIT_SRCS}
|
||||
virtual_terminal.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
kconfig_add_kcfg_files(kwin_KDEINIT_SRCS settings.kcfgc)
|
||||
|
@ -634,16 +615,10 @@ set(kwinLibs
|
|||
${kwin_XLIB_LIBS}
|
||||
${kwin_XCB_LIBS}
|
||||
${kwin_WAYLAND_LIBS}
|
||||
${UDEV_LIBS}
|
||||
Libinput::Libinput
|
||||
)
|
||||
|
||||
if(UDEV_FOUND)
|
||||
set(kwinLibs ${kwinLibs} ${UDEV_LIBS})
|
||||
endif()
|
||||
|
||||
if(HAVE_INPUT)
|
||||
set(kwinLibs ${kwinLibs} Libinput::Libinput)
|
||||
endif()
|
||||
|
||||
add_library(kwin SHARED ${kwin_KDEINIT_SRCS})
|
||||
|
||||
set_target_properties(kwin PROPERTIES
|
||||
|
|
|
@ -3,9 +3,7 @@ remove_definitions(-DQT_USE_QSTRINGBUILDER)
|
|||
add_subdirectory(libkwineffects)
|
||||
add_subdirectory(libxrenderutils)
|
||||
add_subdirectory(integration)
|
||||
if (HAVE_INPUT)
|
||||
add_subdirectory(libinput)
|
||||
endif()
|
||||
add_subdirectory(libinput)
|
||||
if (HAVE_DRM)
|
||||
add_subdirectory(drm)
|
||||
endif()
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#define KWIN_KILLER_BIN "${CMAKE_INSTALL_FULL_LIBEXECDIR}/kwin_killer_helper"
|
||||
#define KWIN_RULES_DIALOG_BIN "${CMAKE_INSTALL_FULL_LIBEXECDIR}/kwin_rules_dialog"
|
||||
#define KWIN_XCLIPBOARD_SYNC_BIN "${CMAKE_INSTALL_FULL_LIBEXECDIR}/org_kde_kwin_xclipboard_syncer"
|
||||
#cmakedefine01 HAVE_INPUT
|
||||
#cmakedefine01 HAVE_X11_XCB
|
||||
#cmakedefine01 HAVE_X11_XINPUT
|
||||
#cmakedefine01 HAVE_DRM
|
||||
|
@ -23,7 +22,6 @@
|
|||
#cmakedefine01 HAVE_PROC_TRACE_CTL
|
||||
#cmakedefine01 HAVE_SYS_SYSMACROS_H
|
||||
#cmakedefine01 HAVE_BREEZE_DECO
|
||||
#cmakedefine01 HAVE_UDEV
|
||||
#cmakedefine01 HAVE_LIBCAP
|
||||
#cmakedefine01 HAVE_SCHED_RESET_ON_FORK
|
||||
#if HAVE_BREEZE_DECO
|
||||
|
|
|
@ -28,10 +28,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "wayland_server.h"
|
||||
#include "workspace.h"
|
||||
#include "keyboard_input.h"
|
||||
#if HAVE_INPUT
|
||||
#include "libinput/connection.h"
|
||||
#include "libinput/device.h"
|
||||
#endif
|
||||
#include <kwinglplatform.h>
|
||||
#include <kwinglutils.h>
|
||||
|
||||
|
@ -143,7 +141,6 @@ static QString buttonToString(Qt::MouseButton button)
|
|||
}
|
||||
}
|
||||
|
||||
#if HAVE_INPUT
|
||||
static QString deviceRow(LibInput::Device *device)
|
||||
{
|
||||
if (!device) {
|
||||
|
@ -151,7 +148,6 @@ static QString deviceRow(LibInput::Device *device)
|
|||
}
|
||||
return tableRow(i18n("Input Device"), QStringLiteral("%1 (%2)").arg(device->name()).arg(device->sysName()));
|
||||
}
|
||||
#endif
|
||||
|
||||
static QString buttonsToString(Qt::MouseButtons buttons)
|
||||
{
|
||||
|
@ -186,9 +182,7 @@ void DebugConsoleFilter::pointerEvent(MouseEvent *event)
|
|||
switch (event->type()) {
|
||||
case QEvent::MouseMove: {
|
||||
text.append(tableHeaderRow(i18nc("A mouse pointer motion event", "Pointer Motion")));
|
||||
#if HAVE_INPUT
|
||||
text.append(deviceRow(event->device()));
|
||||
#endif
|
||||
text.append(timestamp);
|
||||
if (event->timestampMicroseconds() != 0) {
|
||||
text.append(timestampRowUsec(event->timestampMicroseconds()));
|
||||
|
@ -206,9 +200,7 @@ void DebugConsoleFilter::pointerEvent(MouseEvent *event)
|
|||
}
|
||||
case QEvent::MouseButtonPress:
|
||||
text.append(tableHeaderRow(i18nc("A mouse pointer button press event", "Pointer Button Press")));
|
||||
#if HAVE_INPUT
|
||||
text.append(deviceRow(event->device()));
|
||||
#endif
|
||||
text.append(timestamp);
|
||||
text.append(tableRow(i18nc("A button in a mouse press/release event", "Button"), buttonToString(event->button())));
|
||||
text.append(tableRow(i18nc("A button in a mouse press/release event", "Native Button code"), event->nativeButton()));
|
||||
|
@ -216,9 +208,7 @@ void DebugConsoleFilter::pointerEvent(MouseEvent *event)
|
|||
break;
|
||||
case QEvent::MouseButtonRelease:
|
||||
text.append(tableHeaderRow(i18nc("A mouse pointer button release event", "Pointer Button Release")));
|
||||
#if HAVE_INPUT
|
||||
text.append(deviceRow(event->device()));
|
||||
#endif
|
||||
text.append(timestamp);
|
||||
text.append(tableRow(i18nc("A button in a mouse press/release event", "Button"), buttonToString(event->button())));
|
||||
text.append(tableRow(i18nc("A button in a mouse press/release event", "Native Button code"), event->nativeButton()));
|
||||
|
@ -238,9 +228,7 @@ void DebugConsoleFilter::wheelEvent(WheelEvent *event)
|
|||
QString text = s_hr;
|
||||
text.append(s_tableStart);
|
||||
text.append(tableHeaderRow(i18nc("A mouse pointer axis (wheel) event", "Pointer Axis")));
|
||||
#if HAVE_INPUT
|
||||
text.append(deviceRow(event->device()));
|
||||
#endif
|
||||
text.append(deviceRow(event->device()));
|
||||
text.append(timestampRow(event->timestamp()));
|
||||
const Qt::Orientation orientation = event->angleDelta().x() == 0 ? Qt::Vertical : Qt::Horizontal;
|
||||
text.append(tableRow(i18nc("The orientation of a pointer axis event", "Orientation"),
|
||||
|
@ -268,9 +256,7 @@ void DebugConsoleFilter::keyEvent(KeyEvent *event)
|
|||
default:
|
||||
break;
|
||||
}
|
||||
#if HAVE_INPUT
|
||||
text.append(deviceRow(event->device()));
|
||||
#endif
|
||||
text.append(deviceRow(event->device()));
|
||||
auto modifiersToString = [event] {
|
||||
QString ret;
|
||||
if (event->modifiers().testFlag(Qt::ShiftModifier)) {
|
||||
|
@ -468,7 +454,6 @@ void DebugConsoleFilter::switchEvent(SwitchEvent *event)
|
|||
if (event->timestampMicroseconds() != 0) {
|
||||
text.append(timestampRowUsec(event->timestampMicroseconds()));
|
||||
}
|
||||
#if HAVE_INPUT
|
||||
text.append(deviceRow(event->device()));
|
||||
QString switchName;
|
||||
if (event->device()->isLidSwitch()) {
|
||||
|
@ -477,7 +462,6 @@ void DebugConsoleFilter::switchEvent(SwitchEvent *event)
|
|||
switchName = i18nc("Name of a hardware switch", "Tablet mode");
|
||||
}
|
||||
text.append(tableRow(i18nc("A hardware switch", "Switch"), switchName));
|
||||
#endif
|
||||
QString switchState;
|
||||
switch (event->state()) {
|
||||
case SwitchEvent::State::Off:
|
||||
|
@ -505,12 +489,10 @@ DebugConsole::DebugConsole()
|
|||
m_ui->windowsView->setItemDelegate(new DebugConsoleDelegate(this));
|
||||
m_ui->windowsView->setModel(new DebugConsoleModel(this));
|
||||
m_ui->surfacesView->setModel(new SurfaceTreeModel(this));
|
||||
#if HAVE_INPUT
|
||||
if (kwinApp()->usesLibinput()) {
|
||||
m_ui->inputDevicesView->setModel(new InputDeviceModel(this));
|
||||
m_ui->inputDevicesView->setItemDelegate(new DebugConsoleDelegate(this));
|
||||
}
|
||||
#endif
|
||||
m_ui->quitButton->setIcon(QIcon::fromTheme(QStringLiteral("application-exit")));
|
||||
m_ui->tabWidget->setTabIcon(0, QIcon::fromTheme(QStringLiteral("view-list-tree")));
|
||||
m_ui->tabWidget->setTabIcon(1, QIcon::fromTheme(QStringLiteral("view-list-tree")));
|
||||
|
@ -1408,7 +1390,6 @@ QVariant SurfaceTreeModel::data(const QModelIndex &index, int role) const
|
|||
return QVariant();
|
||||
}
|
||||
|
||||
#if HAVE_INPUT
|
||||
InputDeviceModel::InputDeviceModel(QObject *parent)
|
||||
: QAbstractItemModel(parent)
|
||||
, m_devices(LibInput::Connection::self()->devices())
|
||||
|
@ -1541,6 +1522,4 @@ void InputDeviceModel::setupDeviceConnections(LibInput::Device *device)
|
|||
);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
|
|
|
@ -156,8 +156,6 @@ private:
|
|||
QTextEdit *m_textEdit;
|
||||
};
|
||||
|
||||
#if HAVE_INPUT
|
||||
|
||||
namespace LibInput
|
||||
{
|
||||
class Device;
|
||||
|
@ -180,7 +178,6 @@ private:
|
|||
void setupDeviceConnections(LibInput::Device *device);
|
||||
QVector<LibInput::Device*> m_devices;
|
||||
};
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
|
18
input.cpp
18
input.cpp
|
@ -36,10 +36,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "screenedge.h"
|
||||
#include "screens.h"
|
||||
#include "workspace.h"
|
||||
#if HAVE_INPUT
|
||||
#include "libinput/connection.h"
|
||||
#include "libinput/device.h"
|
||||
#endif
|
||||
#include "platform.h"
|
||||
#include "popup_input_filter.h"
|
||||
#include "shell_client.h"
|
||||
|
@ -191,7 +189,6 @@ void InputEventFilter::passToWaylandServer(QKeyEvent *event)
|
|||
}
|
||||
}
|
||||
|
||||
#if HAVE_INPUT
|
||||
class VirtualTerminalFilter : public InputEventFilter {
|
||||
public:
|
||||
bool keyEvent(QKeyEvent *event) override {
|
||||
|
@ -206,7 +203,6 @@ public:
|
|||
return false;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
class TerminateServerFilter : public InputEventFilter {
|
||||
public:
|
||||
|
@ -1505,7 +1501,6 @@ InputRedirection::InputRedirection(QObject *parent)
|
|||
qRegisterMetaType<KWin::InputRedirection::KeyboardKeyState>();
|
||||
qRegisterMetaType<KWin::InputRedirection::PointerButtonState>();
|
||||
qRegisterMetaType<KWin::InputRedirection::PointerAxis>();
|
||||
#if HAVE_INPUT
|
||||
if (Application::usesLibinput()) {
|
||||
if (LogindIntegration::self()->hasSessionControl()) {
|
||||
setupLibInput();
|
||||
|
@ -1525,7 +1520,6 @@ InputRedirection::InputRedirection(QObject *parent)
|
|||
);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
connect(kwinApp(), &Application::workspaceCreated, this, &InputRedirection::setupWorkspace);
|
||||
reconfigure();
|
||||
}
|
||||
|
@ -1670,11 +1664,9 @@ void InputRedirection::setupWorkspace()
|
|||
|
||||
void InputRedirection::setupInputFilters()
|
||||
{
|
||||
#if HAVE_INPUT
|
||||
if (LogindIntegration::self()->hasSessionControl()) {
|
||||
installInputEventFilter(new VirtualTerminalFilter);
|
||||
}
|
||||
#endif
|
||||
if (waylandServer()) {
|
||||
installInputEventFilter(new TerminateServerFilter);
|
||||
installInputEventFilter(new DragAndDropInputFilter);
|
||||
|
@ -1702,7 +1694,6 @@ void InputRedirection::setupInputFilters()
|
|||
|
||||
void InputRedirection::reconfigure()
|
||||
{
|
||||
#if HAVE_INPUT
|
||||
if (Application::usesLibinput()) {
|
||||
auto inputConfig = kwinApp()->inputConfig();
|
||||
inputConfig->reparseConfiguration();
|
||||
|
@ -1713,7 +1704,6 @@ void InputRedirection::reconfigure()
|
|||
|
||||
waylandServer()->seat()->setKeyRepeatInfo(enabled ? rate : 0, delay);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static KWayland::Server::SeatInterface *findSeat()
|
||||
|
@ -1727,7 +1717,6 @@ static KWayland::Server::SeatInterface *findSeat()
|
|||
|
||||
void InputRedirection::setupLibInput()
|
||||
{
|
||||
#if HAVE_INPUT
|
||||
if (!Application::usesLibinput()) {
|
||||
return;
|
||||
}
|
||||
|
@ -1841,7 +1830,6 @@ void InputRedirection::setupLibInput()
|
|||
);
|
||||
}
|
||||
setupTouchpadShortcuts();
|
||||
#endif
|
||||
}
|
||||
|
||||
void InputRedirection::setupTouchpadShortcuts()
|
||||
|
@ -1849,7 +1837,6 @@ void InputRedirection::setupTouchpadShortcuts()
|
|||
if (!m_libInput) {
|
||||
return;
|
||||
}
|
||||
#if HAVE_INPUT
|
||||
QAction *touchpadToggleAction = new QAction(this);
|
||||
QAction *touchpadOnAction = new QAction(this);
|
||||
QAction *touchpadOffAction = new QAction(this);
|
||||
|
@ -1874,16 +1861,13 @@ void InputRedirection::setupTouchpadShortcuts()
|
|||
connect(touchpadToggleAction, &QAction::triggered, m_libInput, &LibInput::Connection::toggleTouchpads);
|
||||
connect(touchpadOnAction, &QAction::triggered, m_libInput, &LibInput::Connection::enableTouchpads);
|
||||
connect(touchpadOffAction, &QAction::triggered, m_libInput, &LibInput::Connection::disableTouchpads);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool InputRedirection::hasAlphaNumericKeyboard()
|
||||
{
|
||||
#if HAVE_INPUT
|
||||
if (m_libInput) {
|
||||
return m_libInput->hasAlphaNumericKeyboard();
|
||||
}
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1899,7 +1883,6 @@ bool InputRedirection::hasTabletModeSwitch()
|
|||
|
||||
void InputRedirection::setupLibInputWithScreens()
|
||||
{
|
||||
#if HAVE_INPUT
|
||||
if (!screens() || !m_libInput) {
|
||||
return;
|
||||
}
|
||||
|
@ -1911,7 +1894,6 @@ void InputRedirection::setupLibInputWithScreens()
|
|||
}
|
||||
);
|
||||
connect(screens(), &Screens::changed, m_libInput, &LibInput::Connection::updateScreens);
|
||||
#endif
|
||||
}
|
||||
|
||||
void InputRedirection::processPointerMotion(const QPointF &pos, uint32_t time)
|
||||
|
|
2
main.cpp
2
main.cpp
|
@ -440,7 +440,6 @@ void Application::initPlatform(const KPluginMetaData &plugin)
|
|||
m_platform = qobject_cast<Platform *>(plugin.instantiate());
|
||||
if (m_platform) {
|
||||
m_platform->setParent(this);
|
||||
#if HAVE_INPUT
|
||||
// check whether it needs libinput
|
||||
const QJsonObject &metaData = plugin.rawData();
|
||||
auto it = metaData.find(QStringLiteral("input"));
|
||||
|
@ -452,7 +451,6 @@ void Application::initPlatform(const KPluginMetaData &plugin)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -648,11 +648,9 @@ int main(int argc, char * argv[])
|
|||
parser.addOption(hwcomposerOption);
|
||||
}
|
||||
#endif
|
||||
#if HAVE_INPUT
|
||||
QCommandLineOption libinputOption(QStringLiteral("libinput"),
|
||||
i18n("Enable libinput support for input events processing. Note: never use in a nested session."));
|
||||
parser.addOption(libinputOption);
|
||||
#endif
|
||||
#if HAVE_DRM
|
||||
QCommandLineOption drmOption(QStringLiteral("drm"), i18n("Render through drm node."));
|
||||
if (hasDrmOption) {
|
||||
|
@ -700,9 +698,7 @@ int main(int argc, char * argv[])
|
|||
a.setSessionArgument(parser.value(exitWithSessionOption));
|
||||
}
|
||||
|
||||
#if HAVE_INPUT
|
||||
KWin::Application::setUseLibinput(parser.isSet(libinputOption));
|
||||
#endif
|
||||
|
||||
QString pluginName;
|
||||
QSize initialWindowSize;
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
if(HAVE_INPUT)
|
||||
if(HAVE_DRM)
|
||||
add_subdirectory(drm)
|
||||
endif()
|
||||
if (HAVE_LINUX_FB_H)
|
||||
add_subdirectory(fbdev)
|
||||
endif()
|
||||
if(HAVE_LIBHYBRIS)
|
||||
add_subdirectory(hwcomposer)
|
||||
endif()
|
||||
if(HAVE_DRM)
|
||||
add_subdirectory(drm)
|
||||
endif()
|
||||
if (HAVE_LINUX_FB_H)
|
||||
add_subdirectory(fbdev)
|
||||
endif()
|
||||
if(HAVE_LIBHYBRIS)
|
||||
add_subdirectory(hwcomposer)
|
||||
endif()
|
||||
add_subdirectory(virtual)
|
||||
add_subdirectory(wayland)
|
||||
|
|
|
@ -23,9 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "virtual_backend.h"
|
||||
#include "options.h"
|
||||
#include "screens.h"
|
||||
#if HAVE_UDEV
|
||||
#include "udev.h"
|
||||
#endif
|
||||
#include <logging.h>
|
||||
// kwin libs
|
||||
#include <kwinglplatform.h>
|
||||
|
@ -62,7 +60,6 @@ EglGbmBackend::~EglGbmBackend()
|
|||
|
||||
void EglGbmBackend::initGbmDevice()
|
||||
{
|
||||
#if HAVE_UDEV
|
||||
if (m_backend->drmFd() != -1) {
|
||||
// already initialized
|
||||
return;
|
||||
|
@ -92,7 +89,6 @@ void EglGbmBackend::initGbmDevice()
|
|||
}
|
||||
m_backend->setGbmDevice(gbmDevice);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
bool EglGbmBackend::initializeEgl()
|
||||
|
|
|
@ -24,9 +24,7 @@
|
|||
#include "input_event.h"
|
||||
#include "input_event_spy.h"
|
||||
|
||||
#if HAVE_INPUT
|
||||
#include "libinput/device.h"
|
||||
#endif
|
||||
|
||||
#include <QDBusConnection>
|
||||
|
||||
|
|
|
@ -18,21 +18,19 @@ if (KF5Wayland_FOUND)
|
|||
target_link_libraries(waylandclienttest Qt5::Core Qt5::Gui KF5::WaylandClient)
|
||||
endif()
|
||||
|
||||
if (HAVE_INPUT)
|
||||
set(libinputtest_SRCS
|
||||
libinputtest.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/context.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/connection.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/device.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/events.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/libinput_logging.cpp
|
||||
${KWIN_SOURCE_DIR}/logind.cpp
|
||||
${KWIN_SOURCE_DIR}/udev.cpp
|
||||
)
|
||||
add_executable(libinputtest ${libinputtest_SRCS})
|
||||
add_definitions(-DKWIN_BUILD_TESTING)
|
||||
target_link_libraries(libinputtest Qt5::Core Qt5::DBus Libinput::Libinput ${UDEV_LIBS} KF5::ConfigCore KF5::GlobalAccel KF5::WindowSystem)
|
||||
endif()
|
||||
set(libinputtest_SRCS
|
||||
libinputtest.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/context.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/connection.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/device.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/events.cpp
|
||||
${KWIN_SOURCE_DIR}/libinput/libinput_logging.cpp
|
||||
${KWIN_SOURCE_DIR}/logind.cpp
|
||||
${KWIN_SOURCE_DIR}/udev.cpp
|
||||
)
|
||||
add_executable(libinputtest ${libinputtest_SRCS})
|
||||
add_definitions(-DKWIN_BUILD_TESTING)
|
||||
target_link_libraries(libinputtest Qt5::Core Qt5::DBus Libinput::Libinput ${UDEV_LIBS} KF5::ConfigCore KF5::GlobalAccel KF5::WindowSystem)
|
||||
|
||||
add_executable(x11shadowreader x11shadowreader.cpp)
|
||||
target_link_libraries(x11shadowreader XCB::XCB Qt5::Widgets Qt5::X11Extras KF5::ConfigCore KF5::WindowSystem)
|
||||
|
|
|
@ -1365,12 +1365,6 @@ QString Workspace::supportInformation() const
|
|||
support.append(yes);
|
||||
#else
|
||||
support.append(no);
|
||||
#endif
|
||||
support.append(QStringLiteral("HAVE_INPUT: "));
|
||||
#if HAVE_INPUT
|
||||
support.append(yes);
|
||||
#else
|
||||
support.append(no);
|
||||
#endif
|
||||
support.append(QStringLiteral("HAVE_DRM: "));
|
||||
#if HAVE_DRM
|
||||
|
|
Loading…
Reference in a new issue