59adbc2da4
* Moves the XML definitions of DBus interfaces and code generation from the different plugins to kdeconnectinterfaces. Before each plugin had their own, some of them duplicated. * Appends `// clazy:skip` to the generated interface files, so Clazy doesn't emit warnings about them because they are missing the NOTIFY/CONSTANT keywords on Q_PROPERTIES. * Makes kdeconnectinterfaces static on Qt5 as well (removes a difference with Qt6). * Moves the generated files to a `generated` directory and updates the includes so they are easily distinguished from other header files.
48 lines
2 KiB
CMake
48 lines
2 KiB
CMake
kdeconnect_add_plugin(kdeconnect_mousepad SOURCES mousepadplugin.cpp abstractremoteinput.cpp)
|
|
|
|
if(UNIX AND NOT APPLE)
|
|
target_sources(kdeconnect_mousepad PUBLIC waylandremoteinput.cpp ${SRCS})
|
|
|
|
target_sources(kdeconnect_mousepad PRIVATE ${wayland_SRCS})
|
|
target_link_libraries(kdeconnect_mousepad Wayland::Client Qt::WaylandClient PkgConfig::XkbCommon)
|
|
target_sources(kdeconnect_mousepad PUBLIC waylandremoteinput.cpp)
|
|
|
|
if (WITH_X11)
|
|
find_package(LibFakeKey REQUIRED)
|
|
set_package_properties(LibFakeKey PROPERTIES DESCRIPTION "fake key events"
|
|
URL "https://github.com/dtapuska/fakekey"
|
|
TYPE REQUIRED
|
|
PURPOSE "Needed for the remote mouse input plugin"
|
|
)
|
|
|
|
if (QT_MAJOR_VERSION EQUAL "5")
|
|
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS X11Extras)
|
|
endif()
|
|
find_package(XTest REQUIRED)
|
|
find_package(X11 REQUIRED)
|
|
target_include_directories(kdeconnect_mousepad PRIVATE ${XTEST_INCLUDE_DIRS} ${X11_INCLUDE_DIR} ${LibFakeKey_INCLUDE_DIRS})
|
|
endif()
|
|
endif()
|
|
|
|
configure_file(config-mousepad.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-mousepad.h)
|
|
|
|
target_link_libraries(kdeconnect_mousepad kdeconnectcore kdeconnectinterfaces Qt::Gui KF${QT_MAJOR_VERSION}::I18n)
|
|
|
|
if (WIN32)
|
|
target_sources(kdeconnect_mousepad PUBLIC windowsremoteinput.cpp)
|
|
endif()
|
|
|
|
if(WITH_X11)
|
|
target_sources(kdeconnect_mousepad PUBLIC x11remoteinput.cpp)
|
|
if (QT_MAJOR_VERSION EQUAL "5")
|
|
target_link_libraries(kdeconnect_mousepad Qt5::X11Extras)
|
|
elseif(QT_MAJOR_VERSION EQUAL "6")
|
|
target_link_libraries(kdeconnect_mousepad Qt6::GuiPrivate)
|
|
endif()
|
|
target_link_libraries(kdeconnect_mousepad ${X11_LIBRARIES} ${XTEST_LIBRARIES} ${LibFakeKey_LIBRARIES})
|
|
endif()
|
|
|
|
if (APPLE)
|
|
target_sources(kdeconnect_mousepad PUBLIC macosremoteinput.mm)
|
|
target_link_libraries(kdeconnect_mousepad "-framework CoreGraphics" "-framework ApplicationServices" "-framework Cocoa")
|
|
endif()
|