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)