summaryrefslogblamecommitdiff
path: root/user/libkworkspace/standalone.patch
blob: 3cf78db088f9ce7ef70bd82d0b065579ac633f1b (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                                      
                                              
                                    


                                                      

                                                                       

                                            
                                 





                                                             
                                  

                                 
                                         
 

                                  
















                                                                             
                                                                                                      



























                                                                                               



                                                                                                                                            
                                                             


                                                                                                               

                                                               


                                                                                                                                           
                                                                                           



                                                                                                  


                                                                                                                 

                                                                                           
                                                                                  
 

                                               








                                                                                                                  
      
 
From 2360505a8f6475b6988efa60c3ba746bfbe4c4d0 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sun, 2 Feb 2020 18:29:57 +0100
Subject: [PATCH] libkworkspace: Allow standalone build

---
 libkworkspace/CMakeLists.txt | 67 +++++++++++++++++++++++++++++++++++-
 1 file changed, 66 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 015c5181f..0aa635e11 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,56 @@
+project(libkworkspace)
+
+if(${CMAKE_SOURCE_DIR} STREQUAL ${libkworkspace_SOURCE_DIR})
+    set(PROJECT_VERSION "5.24.5")
+    set(PROJECT_VERSION_MAJOR 5)
+
+    cmake_minimum_required(VERSION 3.16)
+
+    set(QT_MIN_VERSION "5.15.0")
+    set(KF5_MIN_VERSION "5.82.0")
+    find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core DBus)
+    find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
+    set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
+
+    include(KDEInstallDirs)
+    include(KDECMakeSettings)
+    include(KDECompilerSettings NO_POLICY_SCOPE)
+    include(ECMMarkNonGuiExecutable)
+    include(CMakePackageConfigHelpers)
+    include(WriteBasicConfigVersionFile)
+    include(CheckIncludeFiles)
+    include(FeatureSummary)
+    include(ECMQtDeclareLoggingCategory)
+    include(KDEPackageAppTemplates)
+    include(ECMMarkAsTest)
+    include(GenerateExportHeader)
+
+    find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Config CoreAddons I18n Init WindowSystem)
+
+    find_package(KWinDBusInterface CONFIG REQUIRED)
+    find_package(KScreenLocker 5.13.80 REQUIRED)
+    find_package(ScreenSaverDBusInterface CONFIG REQUIRED)
+
+    find_package(X11)
+    set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries"
+                URL "http://www.x.org"
+                TYPE OPTIONAL
+                PURPOSE "Required for X11 support")
+
+    if(X11_FOUND)
+        find_package(Qt5X11Extras ${QT_MIN_VERSION} CONFIG REQUIRED)
+        set(HAVE_X11 1)
+    endif()
+
+    if(BUILD_TESTING)
+        find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED)
+    endif()
+
+    check_include_files(unistd.h HAVE_UNISTD_H)
+
+    configure_file(../config-workspace.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-workspace.h)
+    configure_file(../config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h)
+endif()
 
 set(kworkspace_LIB_SRCS kdisplaymanager.cpp
                         kworkspace.cpp
@@ -12,9 +65,17 @@ add_definitions(-DTRANSLATION_DOMAIN=\"libkworkspace\")
 qt_add_dbus_interface(kworkspace_LIB_SRCS ${KINIT_DBUS_INTERFACES_DIR}/kf5_org.kde.KLauncher.xml klauncher_interface)
 qt_add_dbus_interface(kworkspace_LIB_SRCS ${KSCREENLOCKER_DBUS_INTERFACES_DIR}/kf5_org.freedesktop.ScreenSaver.xml screenlocker_interface )
 qt_add_dbus_interface(kworkspace_LIB_SRCS ${KSCREENLOCKER_DBUS_INTERFACES_DIR}/org.kde.screensaver.xml kscreenlocker_interface )
+if(${CMAKE_SOURCE_DIR} STREQUAL ${libkworkspace_SOURCE_DIR})
+qt_add_dbus_interface(kworkspace_LIB_SRCS ../ksmserver/org.kde.LogoutPrompt.xml logoutprompt_interface)
+qt_add_dbus_interface(kworkspace_LIB_SRCS ../startkde/plasma-session/org.kde.Startup.xml startup_interface)
+qt_add_dbus_interface(kworkspace_LIB_SRCS ../startkde/plasma-shutdown/org.kde.Shutdown.xml shutdown_interface)
+set(ksmserver_xml ../ksmserver/org.kde.KSMServerInterface.xml)
+else()
 qt_add_dbus_interface(kworkspace_LIB_SRCS ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.LogoutPrompt.xml logoutprompt_interface)
 qt_add_dbus_interface(kworkspace_LIB_SRCS ${plasma-workspace_SOURCE_DIR}/startkde/plasma-session/org.kde.Startup.xml startup_interface)
 qt_add_dbus_interface(kworkspace_LIB_SRCS ${plasma-workspace_SOURCE_DIR}/startkde/plasma-shutdown/org.kde.Shutdown.xml shutdown_interface)
+set(ksmserver_xml ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
+endif()
 
 set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.login1.Manager.xml"
                             "${CMAKE_SOURCE_DIR}/data/interfaces/org.freedesktop.login1.Seat.xml"
@@ -30,7 +91,6 @@ list(APPEND kworkspace_LIB_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/login1_manager_inte
 qt_add_dbus_interface(kworkspace_LIB_SRCS "org.freedesktop.UPower.xml" upower_interface)
 qt_add_dbus_interface(kworkspace_LIB_SRCS "org.freedesktop.ConsoleKit.Manager.xml" consolekit_manager_interface)
 
-set(ksmserver_xml ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
 qt_add_dbus_interface( kworkspace_LIB_SRCS ${ksmserver_xml} ksmserver_interface )
 
 add_library(kworkspace ${kworkspace_LIB_SRCS})
@@ -98,3 +158,8 @@ if(BUILD_TESTING)
     add_subdirectory(autotests)
     add_subdirectory(tests)
 endif()
+
+if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+    install( FILES sessionmanagementbackend.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kworkspace5 COMPONENT Devel )
+    feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+endif()
-- 
2.31.1