Warning, /system/liquidshell/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
0002 
0003 project(liquidshell)
0004 
0005 set(KF_MIN_VERSION 5.62)
0006 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0007 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR})
0008 
0009 include(KDEInstallDirs)
0010 include(KDECompilerSettings NO_POLICY_SCOPE)
0011 include(KDECMakeSettings)
0012 include(ECMInstallIcons)
0013 
0014 find_package(Qt5 5.6 REQUIRED COMPONENTS
0015     Core
0016     Widgets
0017     DBus
0018     X11Extras
0019 )
0020 
0021 find_package(Qt5ThemeSupport REQUIRED)
0022 
0023 find_package(KF5 ${KF_MIN_VERSION} REQUIRED COMPONENTS
0024              WindowSystem WidgetsAddons ConfigWidgets Config KIO IconThemes ItemViews Archive
0025              Notifications I18n NetworkManagerQt Service Solid BluezQt KCMUtils Crash DBusAddons
0026              NewStuff
0027 )
0028 
0029 set(SOURCES
0030     desktop.cxx
0031     DesktopWidget.cxx
0032     DesktopPanel.cxx
0033     OnScreenVolume.cxx
0034     OnScreenBrightness.cxx
0035     ConfigureDesktopDialog.cxx
0036     StartMenu.cxx
0037     Launcher.cxx
0038     QuickLaunch.cxx
0039     IconButton.cxx
0040     AppMenu.cxx
0041     Pager.cxx
0042     PagerButton.cxx
0043     WindowList.cxx
0044     ClockWidget.cxx
0045     ClockWidgetConfigureDialog.cxx
0046     TaskBar.cxx
0047     TaskBarButton.cxx
0048     LockLogout.cxx
0049     SysTray.cxx
0050     SysTrayItem.cxx
0051     SysTrayNotifyItem.cxx
0052     DBusTypes.cxx
0053     SysLoad.cxx
0054     NotificationServer.cxx
0055     NotificationList.cxx
0056     Network.cxx
0057     NetworkList.cxx
0058     DeviceNotifier.cxx
0059     DeviceList.cxx
0060     Battery.cxx
0061     Bluetooth.cxx
0062     PopupMenu.cxx
0063     KdeConnect.cxx
0064 
0065     DesktopApplet.cxx
0066     WeatherApplet.cxx
0067     WeatherAppletConfigureDialog.cxx
0068     DiskUsageApplet.cxx
0069     DiskUsageAppletConfigureDialog.cxx
0070     PictureFrameApplet.cxx
0071     PictureFrameAppletConfigureDialog.cxx
0072 
0073     Moon.cxx
0074     liquidshell.qrc
0075 )
0076 
0077 find_package(packagekitqt5 QUIET)
0078 
0079 if ( packagekitqt5_FOUND )
0080   set(SOURCES ${SOURCES}
0081       PkUpdates.cxx
0082       PkUpdateList.cxx
0083      )
0084 
0085   add_definitions(-DWITH_PACKAGEKIT)
0086 else()
0087   message(WARNING "PackageKit integration not available. packagekitqt5 development files not found")
0088 endif()
0089 
0090 # e.g. on openSuse Leap 42.3 compile fails as a GLib header included uses signals as var
0091 add_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS)
0092 
0093 ki18n_wrap_ui(UI_FILES
0094               ConfigureDesktopDialog.ui
0095               WeatherAppletConfigureDialog.ui
0096               DiskUsageAppletConfigureDialog.ui
0097               PictureFrameAppletConfigureDialog.ui
0098 )
0099 
0100 set(statusnotifieritem_xml ${KNOTIFICATIONS_DBUS_INTERFACES_DIR}/kf5_org.kde.StatusNotifierItem.xml)
0101 set_source_files_properties(${statusnotifieritem_xml} PROPERTIES
0102    INCLUDE "DBusTypes.hxx"
0103    CLASSNAME OrgKdeStatusNotifierItem
0104 )
0105 qt5_add_dbus_interface(SOURCES ${statusnotifieritem_xml} statusnotifieritem_interface)
0106 
0107 qt5_add_dbus_adaptor(SOURCES org.freedesktop.Notifications.xml NotificationServer.hxx NotificationServer)
0108 
0109 set(TARGET liquidshell)
0110 
0111 add_executable(${TARGET} ${SOURCES} ${UI_FILES})
0112 
0113 set_property(TARGET ${TARGET} PROPERTY CXX_STANDARD 11)
0114 set_property(TARGET ${TARGET} PROPERTY AUTORCC ON)
0115 
0116 target_link_libraries(${TARGET}
0117                       Qt5::Core
0118                       Qt5::Widgets
0119                       Qt5::DBus
0120                       Qt5::X11Extras
0121                       Qt5ThemeSupport::Qt5ThemeSupport
0122                       KF5::WindowSystem
0123                       KF5::WidgetsAddons
0124                       KF5::ConfigWidgets
0125                       KF5::ConfigCore
0126                       KF5::KIOCore
0127                       KF5::KIOWidgets
0128                       KF5::IconThemes
0129                       KF5::Notifications
0130                       KF5::I18n
0131                       KF5::NetworkManagerQt
0132                       KF5::Service
0133                       KF5::Solid
0134                       KF5::BluezQt
0135                       KF5::KCMUtils
0136                       KF5::Crash
0137                       KF5::DBusAddons
0138                       KF5::ItemViews
0139                       KF5::Archive
0140                       KF5::NewStuffWidgets
0141 )
0142 
0143 if ( packagekitqt5_FOUND )
0144   target_link_libraries(${TARGET} PK::packagekitqt5)
0145 endif()
0146 
0147 install(TARGETS ${TARGET} ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0148 install(FILES org.kde.${TARGET}.desktop DESTINATION ${KDE_INSTALL_APPDIR})
0149 
0150 configure_file(start_liquidshell start_liquidshell @ONLY)
0151 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/start_liquidshell DESTINATION ${KDE_INSTALL_BINDIR})
0152 
0153 configure_file(liquidshell-session.desktop liquidshell-session.desktop @ONLY)
0154 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liquidshell-session.desktop DESTINATION ${KDE_INSTALL_DATADIR}/xsessions)
0155 
0156 install(FILES liquidshell.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFY5RCDIR})
0157 install(FILES org.kde.liquidshell.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0158 
0159 ecm_install_icons(ICONS
0160                   48-apps-liquidshell.png
0161                   DESTINATION ${KDE_INSTALL_ICONDIR}
0162                   THEME hicolor)
0163 
0164 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES)
0165 
0166 ki18n_install(po)