Warning, /plasma/plasma-workspace/shell/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 set(USE_SCRIPTING 1)
0002 
0003 configure_file(config-ktexteditor.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-ktexteditor.h )
0004 
0005 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-plasma.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-plasma.h)
0006 
0007 add_definitions(-DPLASMA_DEPRECATED=)
0008 
0009 set(scripting_SRC
0010     scripting/appinterface.cpp
0011     scripting/applet.cpp
0012     scripting/containment.cpp
0013     scripting/configgroup.cpp
0014     scripting/panel.cpp
0015     scripting/scriptengine.cpp
0016     scripting/scriptengine_v1.cpp
0017     scripting/widget.cpp
0018 )
0019 
0020 set(plasmashell_dbusXML dbus/org.kde.PlasmaShell.xml)
0021 qt_add_dbus_adaptor(scripting_SRC ${plasmashell_dbusXML} shellcorona.h ShellCorona plasmashelladaptor)
0022 
0023 ecm_qt_declare_logging_category(plasmashell HEADER debug.h
0024                                                IDENTIFIER PLASMASHELL
0025                                                CATEGORY_NAME kde.plasmashell
0026                                                DEFAULT_SEVERITY Info)
0027 
0028 ecm_qt_declare_logging_category(plasmashell HEADER screenpool-debug.h
0029                                                IDENTIFIER SCREENPOOL
0030                                                CATEGORY_NAME kde.plasmashell.screenpool
0031                                                DEFAULT_SEVERITY Info)
0032 set (plasma_shell_SRCS
0033     alternativeshelper.cpp
0034     main.cpp
0035     containmentconfigview.cpp
0036     currentcontainmentactionsmodel.cpp
0037     desktopview.cpp
0038     panelview.cpp
0039     panelconfigview.cpp
0040     panelshadows.cpp
0041     outputorderwatcher.cpp
0042     shellcorona.cpp
0043     standaloneappcorona.cpp
0044     osd.cpp
0045     coronatesthelper.cpp
0046     strutmanager.cpp
0047     debug.cpp
0048     screenpool-debug.cpp
0049     screenpool.cpp
0050     softwarerendernotifier.cpp
0051     shellcontainmentconfig.cpp
0052     ${scripting_SRC}
0053 )
0054 
0055 if (TARGET KUserFeedbackCore)
0056     set(plasma_shell_SRCS
0057         ${plasma_shell_SRCS}
0058         userfeedback.cpp
0059     )
0060 endif()
0061 
0062 kconfig_add_kcfg_files(plasma_shell_SRCS ../kcms/colors/colorssettings.kcfgc GENERATE_MOC)
0063 
0064 add_executable(plasmashell)
0065 if (QT_MAJOR_VERSION EQUAL "5")
0066     ecm_add_qtwayland_client_protocol(plasma_shell_SRCS
0067         PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-order-v1.xml
0068         BASENAME kde-output-order-v1
0069     )
0070 else()
0071     qt6_generate_wayland_protocol_client_sources(plasmashell FILES
0072         ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-order-v1.xml
0073     )
0074 endif()
0075 
0076 set(krunner_xml ${plasma-workspace_SOURCE_DIR}/krunner/dbus/org.kde.krunner.App.xml)
0077 qt_add_dbus_interface(plasma_shell_SRCS ${krunner_xml} krunner_interface)
0078 
0079 
0080 target_sources(plasmashell PRIVATE ${plasma_shell_SRCS})
0081 
0082 target_link_libraries(plasmashell
0083  Qt::Quick
0084  Qt::DBus
0085  Qt::WaylandClient
0086  KF5::KIOCore
0087  KF5::WindowSystem
0088  KF5::ConfigCore # Activate KRunner on the desktop
0089  KF5::Crash
0090  KF5::Plasma
0091  KF5::PlasmaQuick
0092  KF5::Solid
0093  KF5::Declarative
0094  KF5::I18n
0095  KF5::Activities
0096  KF5::GlobalAccel
0097  KF5::CoreAddons
0098  KF5::DBusAddons
0099  KF5::QuickAddons
0100  KF5::XmlGui
0101  KF5::Package
0102  KF5::WaylandClient
0103  KF5::Notifications
0104  KF5::GuiAddons
0105  PW::KWorkspace
0106  Wayland::Client
0107 )
0108 if (QT_MAJOR_VERSION STREQUAL "6")
0109     target_link_libraries(plasmashell KF5::ConfigQml)
0110 endif()
0111 if (TARGET KUserFeedbackCore)
0112     target_link_libraries(plasmashell KUserFeedbackCore)
0113     target_compile_definitions(plasmashell PRIVATE -DWITH_KUSERFEEDBACKCORE)
0114 endif()
0115 
0116 target_include_directories(plasmashell PRIVATE "${CMAKE_BINARY_DIR}")
0117 target_compile_definitions(plasmashell PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}")
0118 
0119 if(HAVE_X11)
0120   target_link_libraries(plasmashell XCB::XCB XCB::RANDR)
0121   if (QT_MAJOR_VERSION EQUAL "5")
0122     target_link_libraries(plasmashell Qt::X11Extras)
0123   else()
0124     target_link_libraries(plasmashell Qt::GuiPrivate)
0125   endif()
0126 endif()
0127 
0128 configure_file(org.kde.plasmashell.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasmashell.desktop @ONLY)
0129 
0130 install(TARGETS plasmashell ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0131 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasmashell.desktop DESTINATION ${KDE_INSTALL_APPDIR})
0132 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasmashell.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR})
0133 install( FILES dbus/org.kde.PlasmaShell.xml DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR} )
0134 
0135 ecm_install_configured_files(INPUT plasma-plasmashell.service.in @ONLY DESTINATION  ${KDE_INSTALL_SYSTEMDUSERUNITDIR})
0136 
0137 install(FILES
0138    scripting/plasma-layouttemplate.desktop
0139    DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR})
0140 
0141 add_subdirectory(packageplugins)
0142 if(BUILD_TESTING)
0143    add_subdirectory(autotests)
0144    add_subdirectory(tests)
0145 endif()
0146 
0147 add_subdirectory(kconf_update)