summaryrefslogtreecommitdiff
path: root/kde-plasma/libkworkspace/files/libkworkspace-5.14.90-standalone.patch
blob: 78042c5d16b2abbe9dc4e4ee268debc5d636ee1d (plain)
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
From 2e0a1d8f524d3bb645248787eed4532a250540fc Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Mon, 22 Oct 2018 10:35:10 +0200
Subject: [PATCH] libkworkspace: Allow standalone build

---
 libkworkspace/CMakeLists.txt | 64 +++++++++++++++++++++++++++++++++---
 1 file changed, 60 insertions(+), 4 deletions(-)

diff --git a/libkworkspace/CMakeLists.txt b/libkworkspace/CMakeLists.txt
index f66013f9..4e58bd60 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,59 @@
+project(libkworkspace)
+
+if(${CMAKE_SOURCE_DIR} STREQUAL ${libkworkspace_SOURCE_DIR})
+    set(PROJECT_VERSION "GENTOO_PV")
+    set(PROJECT_VERSION_MAJOR 5)
+
+    cmake_minimum_required(VERSION 3.0)
+
+    set(QT_MIN_VERSION "5.11.0")
+    set(KF5_MIN_VERSION "5.54.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 CoreAddons I18n Plasma WindowSystem)
+
+    find_package(KWinDBusInterface 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)
+
+    set(ksmserver_xml ../ksmserver/org.kde.KSMServerInterface.xml)
+else()
+    set(ksmserver_xml ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
+    set_source_files_properties(${KWIN_INTERFACE} PROPERTIES INCLUDE "interface_util.h")
+endif()
 
 set(kworkspace_LIB_SRCS kdisplaymanager.cpp
                         kworkspace.cpp
@@ -9,11 +65,7 @@ remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
 remove_definitions(-DQT_NO_CAST_TO_ASCII)
 
 
-set(ksmserver_xml  ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
 qt5_add_dbus_interface( kworkspace_LIB_SRCS ${ksmserver_xml} ksmserver_interface )
-
-set_source_files_properties(${KWIN_INTERFACE} PROPERTIES INCLUDE "interface_util.h")
-
 qt5_add_dbus_interface( kworkspace_LIB_SRCS ${KWIN_INTERFACE} kwin_interface )
 
 
@@ -77,3 +129,7 @@ install(EXPORT libkworkspaceLibraryTargets
 if(BUILD_TESTING)
     add_subdirectory(autotests)
 endif()
+
+if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+    feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+endif()
-- 
2.19.1