Warning, /plasma/plasma-integration/qt5/src/platformtheme/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 find_package(X11)
0002 set_package_properties(X11 PROPERTIES DESCRIPTION "Required for updating the Cursor theme on X11"
0003 URL "https://www.x.org"
0004 TYPE REQUIRED
0005 )
0006 set(HAVE_X11 ${X11_FOUND})
0007 if(HAVE_X11)
0008 find_package(Qt5 ${QT5_MIN_VERSION} CONFIG REQUIRED X11Extras)
0009
0010 find_package(XCB COMPONENTS XCB)
0011 set_package_properties(XCB PROPERTIES TYPE REQUIRED)
0012 endif()
0013
0014 configure_file(config-platformtheme.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-platformtheme.h )
0015
0016 # qdbusmenubar uses them
0017 remove_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS)
0018
0019 set(platformtheme_SRCS
0020 kdeplatformtheme.cpp kdeplatformtheme.h
0021 kfontsettingsdata.cpp kfontsettingsdata.h
0022 khintssettings.cpp khintssettings.h
0023 kdeplatformfiledialoghelper.cpp kdeplatformfiledialoghelper.h
0024 kdeplatformfiledialogbase.cpp
0025 kdeplatformsystemtrayicon.cpp kdeplatformsystemtrayicon.h
0026 kfiletreeview.cpp
0027 kdirselectdialog.cpp
0028 kwaylandintegration.cpp kwaylandintegration.h
0029 x11integration.cpp x11integration.h
0030 main.cpp
0031 qxdgdesktopportalfiledialog.cpp
0032 qtquickrenderersettings.cpp
0033 )
0034 list(APPEND platformtheme_SRCS qdbusmenubar.cpp) # fork of Qt's qdbusmenubar with some added setters for our convenience
0035
0036 qt5_add_dbus_interface(platformtheme_SRCS org.kde.StatusNotifierWatcher.xml statusnotifierwatcher_interface)
0037 kconfig_add_kcfg_files(platformtheme_SRCS renderersettings.kcfgc)
0038 add_library(KDEPlasmaPlatformTheme5 MODULE)
0039 ecm_add_qtwayland_client_protocol(platformtheme_SRCS
0040 PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/appmenu.xml
0041 BASENAME appmenu
0042 )
0043
0044 ecm_add_qtwayland_client_protocol(platformtheme_SRCS
0045 PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/server-decoration-palette.xml
0046 BASENAME server-decoration-palette
0047 )
0048 target_sources(KDEPlasmaPlatformTheme5 PRIVATE ${platformtheme_SRCS})
0049
0050 target_link_libraries(KDEPlasmaPlatformTheme5
0051 PRIVATE
0052 Qt5::GuiPrivate
0053 Qt5::DBus
0054 Qt5::QuickControls2
0055 KF5::ConfigCore
0056 KF5::IconThemes
0057 KF5::KIOFileWidgets # KFileFilterCombo, KDirSortFilterProxyModel, KRecentDirs
0058 KF5::KIOWidgets
0059 KF5::KIOGui
0060 KF5::XmlGui
0061 KF5::I18n
0062 KF5::Notifications
0063 KF5::WindowSystem
0064 KF5::GuiAddons
0065 XCB::XCB
0066 ${QT5PLATFORMSUPPORT_LIBS}
0067 Qt5::WaylandClient
0068 Qt5::GuiPrivate
0069 Wayland::Client
0070 KF5::WaylandClient
0071 )
0072 target_link_libraries(KDEPlasmaPlatformTheme5 PRIVATE Qt5::X11Extras)
0073 target_link_libraries(KDEPlasmaPlatformTheme5 PRIVATE KF5::ConfigWidgets)
0074
0075 if(HAVE_X11)
0076 target_link_libraries(KDEPlasmaPlatformTheme5 PRIVATE ${X11_Xcursor_LIB} ${XCB_XCB_LIBRARY})
0077 endif()
0078
0079 set_target_properties(KDEPlasmaPlatformTheme5 PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/platformthemes/")
0080 install(TARGETS KDEPlasmaPlatformTheme5 DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/platformthemes)