# Builds only libtaskmanager (plasma-workspace's libtaskmanager/, the task# manager's models) out of plasma-workspace's tree, as KDE's own build does,# for the Containerfile's taskmanager-builder: PLASMA_SRC is plasma-workspace's# source at the version the image ships, with startup-feedback.patch applied.cmake_minimum_required(VERSION 3.16)project(libtaskmanager-quine LANGUAGES C CXX)if(NOT PLASMA_SRC OR NOT PLASMA_VERSION)message(FATAL_ERROR "Set PLASMA_SRC (plasma-workspace's source) and PLASMA_VERSION")endif()# libtaskmanager's own CMakeLists.txt versions the library from these.set(PROJECT_VERSION "${PLASMA_VERSION}")string(REPLACE "." ";" VERSION_LIST ${PROJECT_VERSION})list(GET VERSION_LIST 0 PROJECT_VERSION_MAJOR)# As plasma-workspace's top-level CMakeLists.txt sets them.set(CMAKE_CXX_STANDARD 23)set(CMAKE_CXX_STANDARD_REQUIRED ON)# ECM's Qt-version-dependent modules (ECMQmlModule) pick Qt 6 from this.set(QT_MAJOR_VERSION 6)find_package(ECM REQUIRED NO_MODULE)set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})include(KDEInstallDirs)include(KDECMakeSettings)include(KDECompilerSettings NO_POLICY_SCOPE)include(ECMQtDeclareLoggingCategory)include(ECMGenerateExportHeader)include(ECMQmlModule)include(GenerateExportHeader)include(CMakePackageConfigHelpers)include(ECMDeprecationSettings)find_package(Qt6 CONFIG REQUIRED COMPONENTS Core Gui Quick DBus Concurrent WaylandClient)find_package(Qt6GuiPrivate CONFIG QUIET)find_package(KF6 REQUIRED COMPONENTS ItemModels Config I18n KIO JobWidgets Service WindowSystem)find_package(PlasmaActivities REQUIRED)find_package(PlasmaWaylandProtocols REQUIRED)find_package(LibKWorkspace REQUIRED)ecm_set_disabled_deprecation_versions(QT 5.15.2 KF 5.98.0)set(BUILD_TESTING OFF)add_definitions(-DQT_NO_URL_CAST_FROM_STRING)configure_file(${PLASMA_SRC}/config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h)include_directories(${CMAKE_CURRENT_BINARY_DIR})add_subdirectory(${PLASMA_SRC}/libtaskmanager libtaskmanager)