1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
if(BUILD_TESTING)
add_subdirectory(autotests)
endif()
set(taskmanager_LIB_SRCS
abstracttasksmodel.cpp
abstracttasksproxymodeliface.cpp
abstractwindowtasksmodel.cpp
activityinfo.cpp
concatenatetasksproxymodel.cpp
flattentaskgroupsproxymodel.cpp
launchertasksmodel.cpp
startuptasksmodel.cpp
regionfiltermode.h
taskfilterproxymodel.cpp
taskgroupingproxymodel.cpp
tasksmodel.cpp
tasktools.cpp
virtualdesktopinfo.cpp
waylandstartuptasksmodel.cpp
waylandtasksmodel.cpp
windowtasksmodel.cpp
screencasting.cpp screencasting.h
screencastingrequest.cpp screencastingrequest.h
)
if (HAVE_X11)
set(taskmanager_LIB_SRCS
${taskmanager_LIB_SRCS}
xstartuptasksmodel.cpp
xwindowsystemeventbatcher.cpp xwindowsystemeventbatcher.h
xwindowtasksmodel.cpp
)
endif()
add_library(taskmanager ${taskmanager_LIB_SRCS})
add_library(PW::LibTaskManager ALIAS taskmanager)
ecm_add_qml_module(taskmanager
URI "org.kde.taskmanager"
VERSION 0.1
GENERATE_PLUGIN_SOURCE
DEPENDENCIES QtCore
)
if (Qt6_VERSION VERSION_GREATER_EQUAL "6.8.0")
set(private_code_option "PRIVATE_CODE")
endif()
qt6_generate_wayland_protocol_client_sources(taskmanager
${private_code_option}
FILES ${PLASMA_WAYLAND_PROTOCOLS_DIR}/org-kde-plasma-virtual-desktop.xml
FILES ${PLASMA_WAYLAND_PROTOCOLS_DIR}/plasma-window-management.xml
FILES ${PLASMA_WAYLAND_PROTOCOLS_DIR}/zkde-screencast-unstable-v1.xml
)
generate_export_header(taskmanager)
target_include_directories(taskmanager PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/taskmanager>")
target_link_libraries(taskmanager
PUBLIC
Qt::Core
Qt::Gui
Qt::Quick
KF6::ItemModels
PRIVATE
Qt::Concurrent
Qt::DBus
Qt::GuiPrivate
Qt::WaylandClient
Plasma::Activities
KF6::ConfigCore
KF6::I18n
KF6::KIOCore
KF6::KIOGui
KF6::JobWidgets
KF6::Service
KF6::WindowSystem
PW::KWorkspace
)
if (HAVE_X11)
target_link_libraries(taskmanager PRIVATE KF6::IconThemes)
target_link_libraries(taskmanager PRIVATE X11::X11)
endif()
set_target_properties(taskmanager PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION 6
EXPORT_NAME LibTaskManager)
ecm_qt_declare_logging_category(taskmanager
HEADER libtaskmanager_debug.h
IDENTIFIER TASKMANAGER_DEBUG
CATEGORY_NAME org.kde.plasma.libtaskmanager
DESCRIPTION "libtaskmanager debug"
EXPORT PLASMAWORKSPACE
)
install(TARGETS taskmanager EXPORT libtaskmanagerLibraryTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} )
install(FILES
abstracttasksmodel.h
abstracttasksmodeliface.h
abstracttasksproxymodeliface.h
abstractwindowtasksmodel.h
activityinfo.h
concatenatetasksproxymodel.h
flattentaskgroupsproxymodel.h
launchertasksmodel.h
regionfiltermode.h
startuptasksmodel.h
taskfilterproxymodel.h
taskgroupingproxymodel.h
tasksmodel.h
tasktools.h
virtualdesktopinfo.h
waylandstartuptasksmodel.h
waylandtasksmodel.h
windowtasksmodel.h
${CMAKE_CURRENT_BINARY_DIR}/taskmanager_export.h
DESTINATION ${KDE_INSTALL_INCLUDEDIR}/taskmanager COMPONENT Devel
)
if (HAVE_X11)
install(FILES
xstartuptasksmodel.h
xwindowtasksmodel.h
DESTINATION ${KDE_INSTALL_INCLUDEDIR}/taskmanager COMPONENT Devel
)
endif()
ecm_finalize_qml_module(taskmanager)
write_basic_config_version_file(${CMAKE_CURRENT_BINARY_DIR}/LibTaskManagerConfigVersion.cmake VERSION "${PROJECT_VERSION}" COMPATIBILITY AnyNewerVersion)
set(CMAKECONFIG_INSTALL_DIR ${KDE_INSTALL_CMAKEPACKAGEDIR}/LibTaskManager)
configure_package_config_file(LibTaskManagerConfig.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/LibTaskManagerConfig.cmake"
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LibTaskManagerConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/LibTaskManagerConfigVersion.cmake
DESTINATION ${CMAKECONFIG_INSTALL_DIR})
install(EXPORT libtaskmanagerLibraryTargets
NAMESPACE PW::
DESTINATION ${CMAKECONFIG_INSTALL_DIR}
FILE LibTaskManagerLibraryTargets.cmake )
install(FILES taskmanagerrulesrc
DESTINATION ${KDE_INSTALL_CONFDIR})
|