summaryrefslogtreecommitdiff
path: root/kde-frameworks/khtml/files/khtml-5.96.0-with_x11.patch
blob: fb75eaa49cb33c2f97672315ac5ea92ed938b292 (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
97
98
99
100
From 9712a641636bf9b794e1ce3b7ec00534de56faa1 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sat, 6 Aug 2022 11:03:35 +0200
Subject: [PATCH] Add CMake option to build WITH_X11

We want to be able to build without X11 support even if some of the used
libraries may not work w/o X11 themselves yet or need to be built with
X11 support for other reverse dependencies.

HAVE_X11 already exists and is set automagically so far, but using
-DCMAKE_DISABLE_FIND_PACKAGE_X11 will break if any dependencies list X11
as required in their cmake config. This is a behavior change as previously
it was silently disabled if X11 was not found.

Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
 CMakeLists.txt       | 14 +++++++-------
 src/CMakeLists.txt   |  5 ++---
 tests/CMakeLists.txt |  4 ++--
 3 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bca3622..700a0a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,9 +60,13 @@ set_package_properties(Perl PROPERTIES
                        PURPOSE "Required for generating JS bindings for elements"
                       )
 
-if(NOT APPLE)
-  find_package(X11)
-  set(HAVE_X11 ${X11_FOUND})
+if(NOT WIN32 AND NOT APPLE)
+  option(WITH_X11 "Build with X11 integration" ON)
+  if(WITH_X11)
+    find_package(X11 REQUIRED)
+    set(HAVE_X11 1)
+    find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED X11Extras)
+  endif()
 endif()
 
 find_package(Phonon4Qt5 4.6.60)
@@ -94,10 +98,6 @@ set_package_properties(PNG PROPERTIES DESCRIPTION "PNG decoding library"
                        PURPOSE "Required for decoding and displaying PNG images"
                       )
 
-if(NOT WIN32 AND NOT APPLE AND X11_FOUND)
-    find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED X11Extras)
-endif()
-
 find_package(Gperf REQUIRED)
 
 # remove definitions set by KDEFrameworkCompilerSettings which we fail to meet
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 573fa88..14b2e73 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -592,7 +592,6 @@ target_link_libraries(KF5KHtml
     ${JPEG_LIBRARIES}
     ${GIF_LIBRARIES}
     ${PNG_LIBRARIES}
-    ${X11_LIBRARIES}
     Qt5::PrintSupport
     KF5::Archive
     KF5::SonnetCore
@@ -604,8 +603,8 @@ target_link_libraries(KF5KHtml
     KF5::Bookmarks
     KF5::KIOWidgets # KUrlRequester
 )
-if(NOT WIN32 AND NOT APPLE AND X11_FOUND)
-  target_link_libraries(KF5KHtml PRIVATE Qt5::X11Extras)
+if(NOT WIN32 AND NOT APPLE AND HAVE_X11)
+  target_link_libraries(KF5KHtml PRIVATE ${X11_LIBRARIES} Qt5::X11Extras)
 endif()
 
 if (KJS_DEBUGGER)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index ae079ae..b6347d7 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,6 +1,6 @@
 include(ECMMarkAsTest)
 
-if(NOT WIN32 AND NOT APPLE AND X11_FOUND)
+if(NOT WIN32 AND NOT APPLE AND HAVE_X11)
   find_package(Qt5X11Extras "${REQUIRED_QT_VERSION}" CONFIG REQUIRED)
   set_package_properties(Qt5X11Extras PROPERTIES PURPOSE "Required for tests")
 endif()
@@ -79,7 +79,7 @@ endif()
 
 # Note that testregression can't be compiled by default, it needs private Qt headers.
 # See also BUILDING-TESTREGRESSION
-if (KHTML_BUILD_TESTREGRESSION)
+if (KHTML_BUILD_TESTREGRESSION AND HAVE_X11)
 
     set(testregression_SRCS
         test_regression.cpp
-- 
GitLab