Warning, /plasma/xdg-desktop-portal-kde/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_subdirectory(kirigami-filepicker)
0002 
0003 add_definitions(-DTRANSLATION_DOMAIN="xdg-desktop-portal-kde")
0004 
0005 include_directories(${Qt5PrintSupport_PRIVATE_INCLUDE_DIRS})
0006 
0007 add_executable(xdg-desktop-portal-kde)
0008 
0009 set(xdg_desktop_portal_kde_SRCS
0010     access.cpp
0011     accessdialog.cpp
0012     accessdialog.h
0013     access.h
0014     account.cpp
0015     account.h
0016     appchooser.cpp
0017     appchooserdialog.cpp
0018     appchooserdialog.h
0019     appchooser.h
0020     background.cpp
0021     background.h
0022     dbushelpers.cpp
0023     desktopportal.cpp
0024     desktopportal.h
0025     email.cpp
0026     email.h
0027     filechooser.cpp
0028     filechooser.h
0029     globalshortcuts.cpp
0030     inhibit.cpp
0031     inhibit.h
0032     notification.cpp
0033     notification.h
0034     notificationinhibition.cpp
0035     notificationinhibition.h
0036     outputsmodel.cpp
0037     print.cpp
0038     print.h
0039     quickdialog.cpp
0040     remotedesktop.cpp
0041     remotedesktopdialog.cpp
0042     remotedesktopdialog.h
0043     remotedesktop.h
0044     request.cpp
0045     request.h
0046     screencast.cpp
0047     screencast.h
0048     screencasting.cpp
0049     screencasting.h
0050     screencastwidget.cpp
0051     screencastwidget.h
0052     screenchooserdialog.cpp
0053     screenchooserdialog.h
0054     screenshot.cpp
0055     screenshotdialog.cpp
0056     screenshotdialog.h
0057     screenshot.h
0058     session.cpp
0059     session.h
0060     settings.cpp
0061     settings.h
0062     userinfodialog.cpp
0063     userinfodialog.h
0064     utils.cpp
0065     utils.h
0066     waylandintegration.cpp
0067     waylandintegration.h
0068     waylandintegration_p.h
0069     xdg-desktop-portal-kde.cpp
0070     resources.qrc
0071     portalicon.cpp
0072     dynamiclauncher.cpp
0073     dynamiclauncherdialog.cpp
0074     xdgshortcut.cpp
0075 )
0076 
0077 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0078     IDENTIFIER "XdgDesktopPortalKdeBackground"
0079     CATEGORY_NAME "xdp-kde-background"
0080     HEADER background_debug.h
0081     DESCRIPTION "XDG Desktop Portal KDE Background"
0082     EXPORT XDPKDE
0083 )
0084 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0085     IDENTIFIER "XdgDesktopPortalKdeNotificationInhibition"
0086     CATEGORY_NAME "xdp-kde-notificationinhibition"
0087     HEADER notificationinhibition_debug.h
0088     DESCRIPTION "XDG Desktop Portal KDE Notification Inhibition"
0089     EXPORT XDPKDE
0090 )
0091 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0092     IDENTIFIER "XdgDesktopPortalKdeAccess"
0093     CATEGORY_NAME "xdp-kde-access"
0094     HEADER access_debug.h
0095     DESCRIPTION "XDG Desktop Portal KDE Access"
0096     EXPORT XDPKDE
0097 )
0098 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0099     IDENTIFIER "XdgDesktopPortalKdeAccount"
0100     CATEGORY_NAME "xdp-kde-account"
0101     HEADER account_debug.h)
0102 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0103     IDENTIFIER "XdgDesktopPortalKdeSettings"
0104     CATEGORY_NAME "xdp-kde-settings"
0105     HEADER settings_debug.h
0106     DESCRIPTION "XDG Desktop Portal KDE Settings"
0107     EXPORT XDPKDE
0108 )
0109 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0110     IDENTIFIER "XdgDesktopPortalKdeAppChooser"
0111     CATEGORY_NAME "xdp-kde-app-chooser"
0112     HEADER appchooser_debug.h
0113     DESCRIPTION "XDG Desktop Portal KDE App Chooser"
0114     EXPORT XDPKDE
0115 )
0116 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0117     IDENTIFIER "XdgDesktopPortalKdeDesktopPortal"
0118     CATEGORY_NAME "xdp-kde-desktop-portal"
0119     HEADER desktopportal_debug.h
0120     DESCRIPTION "XDG Desktop Portal KDE Desktop Portal"
0121     EXPORT XDPKDE
0122 )
0123 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0124     IDENTIFIER "XdgDesktopPortalKdeDynamicLauncher"
0125     CATEGORY_NAME "xdp-kde-dynamic-launcher"
0126     HEADER dynamiclauncher_debug.h
0127     DESCRIPTION "XDG Desktop Portal KDE Dynamic Launcher"
0128     EXPORT XDPKDE
0129 )
0130 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0131     IDENTIFIER "XdgDesktopPortalKdeDynamicLauncherDialog"
0132     CATEGORY_NAME "xdp-kde-dynamic-launcher-dialog"
0133     HEADER dynamiclauncherdialog_debug.h
0134     DESCRIPTION "XDG Desktop Portal KDE Dynamic Launcher Dialog"
0135     EXPORT XDPKDE
0136 )
0137 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0138     IDENTIFIER "XdgDesktopPortalKdeEmail"
0139     CATEGORY_NAME "xdp-kde-email"
0140     HEADER email_debug.h
0141     DESCRIPTION "XDG Desktop Portal KDE e-mail"
0142     EXPORT XDPKDE
0143 )
0144 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0145     IDENTIFIER "XdgDesktopPortalKdeFileChooser"
0146     CATEGORY_NAME "xdp-kde-file-chooser"
0147     HEADER filechooser_debug.h
0148     DESCRIPTION "XDG Desktop Portal KDE File Chooser"
0149     EXPORT XDPKDE
0150 )
0151 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0152     IDENTIFIER "XdgDesktopPortalKdeInhibit"
0153     CATEGORY_NAME "xdp-kde-inhibit"
0154     HEADER inhibit_debug.h
0155     DESCRIPTION "XDG Desktop Portal KDE Inhibit"
0156     EXPORT XDPKDE
0157 )
0158 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0159     IDENTIFIER "XdgDesktopPortalKdeNotification"
0160     CATEGORY_NAME "xdp-kde-notification"
0161     HEADER notification_debug.h
0162     DESCRIPTION "XDG Desktop Portal KDE Notification"
0163     EXPORT XDPKDE
0164 )
0165 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0166     IDENTIFIER "XdgDesktopPortalKdePrint"
0167     CATEGORY_NAME "xdp-kde-print"
0168     HEADER print_debug.h
0169     DESCRIPTION "XDG Desktop Portal KDE Print"
0170     EXPORT XDPKDE
0171 )
0172 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0173     IDENTIFIER "XdgDesktopPortalKdeRemoteDesktop"
0174     CATEGORY_NAME "xdp-kde-remotedesktop"
0175     HEADER remotedesktop_debug.h
0176     DESCRIPTION "XDG Desktop Portal KDE Remote Desktop"
0177     EXPORT XDPKDE
0178 )
0179 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0180     IDENTIFIER "XdgDesktopPortalKdeRemoteDesktopDialog"
0181     CATEGORY_NAME "xdp-kde-remote-desktop-dialog"
0182     HEADER remotedesktopdialog_debug.h
0183     DESCRIPTION "XDG Desktop Portal KDE Remote Desktop Dialog"
0184     EXPORT XDPKDE
0185 )
0186 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0187     IDENTIFIER "XdgRequestKdeRequest"
0188     CATEGORY_NAME "xdp-kde-request"
0189     HEADER request_debug.h
0190     DESCRIPTION "XDG Desktop Portal KDE Request"
0191     EXPORT XDPKDE
0192 )
0193 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0194     IDENTIFIER "XdgDesktopPortalKdeScreenCast"
0195     CATEGORY_NAME "xdp-kde-screencast"
0196     HEADER screencast_debug.h
0197     DESCRIPTION "XDG Desktop Portal KDE Screencast"
0198     EXPORT XDPKDE
0199 )
0200 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0201     IDENTIFIER "XdgDesktopPortalKdeScreenshot"
0202     CATEGORY_NAME "xdp-kde-screenshot"
0203     HEADER screenshot_debug.h
0204     DESCRIPTION "XDG Desktop Portal KDE Screenshot"
0205     EXPORT XDPKDE
0206 )
0207 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0208     IDENTIFIER "XdgDesktopPortalKdeScreenshotDialog"
0209     CATEGORY_NAME "xdp-kde-screenshot-dialog"
0210     HEADER screenshotdialog_debug.h)
0211 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0212     IDENTIFIER "XdgSessionKdeSession"
0213     CATEGORY_NAME "xdp-kde-session"
0214     HEADER session_debug.h
0215     DESCRIPTION "XDG Desktop Portal KDE Session"
0216     EXPORT XDPKDE
0217 )
0218 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0219     IDENTIFIER "XdgDesktopPortalKde"
0220     CATEGORY_NAME "xdp-kde"
0221     HEADER debug.h
0222     DESCRIPTION "XDG Desktop Portal KDE Generic"
0223     EXPORT XDPKDE
0224 )
0225 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0226     IDENTIFIER "XdgDesktopPortalKdeWaylandIntegration"
0227     CATEGORY_NAME "xdp-kde-wayland-integration"
0228     HEADER waylandintegration_debug.h
0229     DESCRIPTION "XDG Desktop Portal KDE Wayland"
0230     EXPORT XDPKDE
0231 )
0232 ecm_qt_declare_logging_category(xdg_desktop_portal_kde_SRCS
0233     IDENTIFIER "XdgDesktopPortalKdeAccessDialog"
0234     CATEGORY_NAME "xdp-kde-access-dialog"
0235     HEADER accessdialog_debug.h
0236     DESCRIPTION "XDG Desktop Portal KDE Access Dialog"
0237     EXPORT XDPKDE
0238 )
0239 
0240 set(kglobalaccel_xml ${KGLOBALACCEL_DBUS_INTERFACES_DIR}/kf5_org.kde.KGlobalAccel.xml)
0241 set_source_files_properties(${kglobalaccel_xml} PROPERTIES
0242     INCLUDE "kglobalaccel.h"
0243     NO_NAMESPACE TRUE
0244     CLASSNAME "KGlobalAccelInterface"
0245 )
0246 qt_add_dbus_interface(xdg_desktop_portal_kde_SRCS ${kglobalaccel_xml} kglobalaccel_interface)
0247 
0248 set(kglobalaccel_component_xml ${KGLOBALACCEL_DBUS_INTERFACES_DIR}/kf5_org.kde.kglobalaccel.Component.xml)
0249 set_source_files_properties(${kglobalaccel_component_xml} PROPERTIES
0250     INCLUDE "kglobalshortcutinfo.h"
0251     NO_NAMESPACE TRUE
0252     CLASSNAME "KGlobalAccelComponentInterface"
0253 )
0254 qt_add_dbus_interface(xdg_desktop_portal_kde_SRCS ${kglobalaccel_component_xml} kglobalaccel_component_interface)
0255 
0256 if (QT_MAJOR_VERSION EQUAL "5")
0257     ecm_add_qtwayland_client_protocol(xdg_desktop_portal_kde_SRCS
0258         PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/zkde-screencast-unstable-v1.xml
0259         BASENAME zkde-screencast-unstable-v1
0260     )
0261     ecm_add_qtwayland_client_protocol(xdg_desktop_portal_kde_SRCS
0262         PROTOCOL ${Wayland_DATADIR}/wayland.xml
0263         BASENAME wayland
0264     )
0265 else()
0266     qt6_generate_wayland_protocol_client_sources(xdg-desktop-portal-kde FILES ${PLASMA_WAYLAND_PROTOCOLS_DIR}/zkde-screencast-unstable-v1.xml)
0267     qt6_generate_wayland_protocol_client_sources(xdg-desktop-portal-kde FILES ${Wayland_DATADIR}/wayland.xml)
0268 endif()
0269 
0270 
0271 set_source_files_properties(../data/org.freedesktop.Accounts.User.xml PROPERTIES NO_NAMESPACE TRUE)
0272 qt_add_dbus_interface(xdg_desktop_portal_kde_SRCS ../data/org.freedesktop.Accounts.User.xml user_interface)
0273 
0274 set_source_files_properties(../data/org.freedesktop.portal.Documents.xml PROPERTIES NO_NAMESPACE TRUE)
0275 qt_add_dbus_interface(xdg_desktop_portal_kde_SRCS ../data/org.freedesktop.portal.Documents.xml documents_interface)
0276 
0277 set_source_files_properties(../data/org.kde.KIOFuse.VFS.xml PROPERTIES NO_NAMESPACE TRUE)
0278 qt_add_dbus_interface(xdg_desktop_portal_kde_SRCS ../data/org.kde.KIOFuse.VFS.xml fuse_interface)
0279 
0280 qt_add_dbus_interface(xdg_desktop_portal_kde_SRCS ../data/org.freedesktop.Application.xml fdo_application_interface)
0281 
0282 target_sources(xdg-desktop-portal-kde PRIVATE ${xdg_desktop_portal_kde_SRCS})
0283 
0284 target_link_libraries(xdg-desktop-portal-kde
0285     Qt::Core
0286     Qt::GuiPrivate
0287     Qt::DBus
0288     Qt::Concurrent
0289     Qt::PrintSupport
0290     Qt::QuickWidgets
0291     Qt::Widgets
0292     Qt::WaylandClient
0293     KF5::CoreAddons
0294     KF5::ConfigCore
0295     KF5::Declarative
0296     KF5::GlobalAccel
0297     KF5::GuiAddons
0298     KF5::I18n
0299     KF5::KIOFileWidgets
0300     KF5::Notifications
0301     KF5::Service
0302     KF5::WaylandClient
0303     KF5::WidgetsAddons
0304     KF5::WindowSystem
0305     KF5::IconThemes
0306     KirigamiFilepicker
0307     Wayland::Client
0308     PkgConfig::XKB
0309 )
0310 if (QT_MAJOR_VERSION EQUAL "6")
0311     target_link_libraries(xdg-desktop-portal-kde Qt::PrintSupportPrivate Qt::GuiPrivate)
0312 elseif (QT_MAJOR_VERSION EQUAL "5")
0313     target_link_libraries(xdg-desktop-portal-kde Qt::XkbCommonSupportPrivate)
0314 endif()
0315 
0316 install(TARGETS xdg-desktop-portal-kde DESTINATION ${KDE_INSTALL_LIBEXECDIR})
0317 
0318 install(FILES
0319     xdg-desktop-portal-kde.notifyrc
0320     DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR})
0321 
0322 ecm_qt_install_logging_categories(EXPORT XDPKDE FILE xdp-kde.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})