Brooklyn/plasma/workspace/shell/CMakeLists.txt
2022-03-05 22:41:29 +05:00

127 lines
3.8 KiB
CMake

configure_file(config-ktexteditor.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-ktexteditor.h )
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-plasma.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-plasma.h)
add_definitions(-DPLASMA_DEPRECATED=)
set(scripting_SRC
scripting/appinterface.cpp
scripting/applet.cpp
scripting/containment.cpp
scripting/configgroup.cpp
scripting/panel.cpp
scripting/scriptengine.cpp
scripting/scriptengine_v1.cpp
scripting/widget.cpp
)
set(plasmashell_dbusXML dbus/org.kde.PlasmaShell.xml)
qt_add_dbus_adaptor(scripting_SRC ${plasmashell_dbusXML} shellcorona.h ShellCorona plasmashelladaptor)
ecm_qt_declare_logging_category(plasmashell HEADER debug.h
IDENTIFIER PLASMASHELL
CATEGORY_NAME kde.plasmashell
DEFAULT_SEVERITY Info)
ecm_qt_declare_logging_category(plasmashell HEADER screenpool-debug.h
IDENTIFIER SCREENPOOL
CATEGORY_NAME kde.plasmashell.screenpool
DEFAULT_SEVERITY Info)
set (plasma_shell_SRCS
alternativeshelper.cpp
main.cpp
containmentconfigview.cpp
currentcontainmentactionsmodel.cpp
desktopview.cpp
panelview.cpp
panelconfigview.cpp
panelshadows.cpp
primaryoutputwatcher.cpp
shellcorona.cpp
standaloneappcorona.cpp
osd.cpp
coronatesthelper.cpp
strutmanager.cpp
debug.cpp
screenpool-debug.cpp
screenpool.cpp
softwarerendernotifier.cpp
shellcontainmentconfig.cpp
${scripting_SRC}
)
if (TARGET KUserFeedbackCore)
set(plasma_shell_SRCS
${plasma_shell_SRCS}
userfeedback.cpp
)
endif()
ecm_add_qtwayland_client_protocol(plasma_shell_SRCS
PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-primary-output-v1.xml
BASENAME kde-primary-output-v1
)
set(krunner_xml ${plasma-workspace_SOURCE_DIR}/krunner/dbus/org.kde.krunner.App.xml)
qt_add_dbus_interface(plasma_shell_SRCS ${krunner_xml} krunner_interface)
add_executable(plasmashell
${plasma_shell_SRCS}
)
target_link_libraries(plasmashell
Qt::Quick
Qt::DBus
KF5::KIOCore
KF5::WindowSystem
KF5::Crash
KF5::Plasma
KF5::PlasmaQuick
KF5::Solid
KF5::Declarative
KF5::I18n
KF5::Activities
KF5::GlobalAccel
KF5::CoreAddons
KF5::DBusAddons
KF5::QuickAddons
KF5::XmlGui
KF5::Package
KF5::WaylandClient
KF5::Notifications
PW::KWorkspace
Wayland::Client
)
if (TARGET KUserFeedbackCore)
target_link_libraries(plasmashell KUserFeedbackCore)
target_compile_definitions(plasmashell PRIVATE -DWITH_KUSERFEEDBACKCORE)
endif()
target_include_directories(plasmashell PRIVATE "${CMAKE_BINARY_DIR}")
target_compile_definitions(plasmashell PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}")
if(HAVE_X11)
target_link_libraries(plasmashell XCB::XCB XCB::RANDR)
target_link_libraries(plasmashell Qt::X11Extras)
endif()
configure_file(org.kde.plasmashell.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasmashell.desktop @ONLY)
install(TARGETS plasmashell ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasmashell.desktop DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasmashell.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR})
install( FILES dbus/org.kde.PlasmaShell.xml DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR} )
ecm_install_configured_files(INPUT plasma-plasmashell.service.in @ONLY DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR})
install(FILES
scripting/plasma-layouttemplate.desktop
DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
add_subdirectory(packageplugins)
if(BUILD_TESTING)
add_subdirectory(autotests)
add_subdirectory(tests)
endif()