ecm_add_qml_module(kdeconnectdeclarativeplugin URI "org.kde.kdeconnect" VERSION 1.0) target_sources(kdeconnectdeclarativeplugin PRIVATE kdeconnectdeclarativeplugin.cpp responsewaiter.cpp objectfactory.cpp pointerlocker.cpp ) ecm_target_qml_sources(kdeconnectdeclarativeplugin SOURCES qml/DBusProperty.qml qml/PluginChecker.qml qml/RemoteKeyboard.qml VERSION 1.0) if(UNIX AND NOT APPLE) if (Qt6_VERSION VERSION_GREATER_EQUAL "6.8.0") set(private_code_option "PRIVATE_CODE") endif() qt6_generate_wayland_protocol_client_sources(kdeconnectdeclarativeplugin FILES ${WaylandProtocols_DATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml ${private_code_option} ) qt6_generate_wayland_protocol_client_sources(kdeconnectdeclarativeplugin FILES ${WaylandProtocols_DATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml ${private_code_option} ) target_sources(kdeconnectdeclarativeplugin PRIVATE ${wayland_SRCS}) target_link_libraries(kdeconnectdeclarativeplugin PRIVATE Wayland::Client Qt::WaylandClient Qt::GuiPrivate) target_sources(kdeconnectdeclarativeplugin PUBLIC pointerlockerwayland.cpp) endif() target_link_libraries(kdeconnectdeclarativeplugin PRIVATE Qt::Quick kdeconnectinterfaces kdeconnectcore) ecm_finalize_qml_module(kdeconnectdeclarativeplugin DESTINATION ${KDE_INSTALL_QMLDIR})