summaryrefslogtreecommitdiff
blob: 16c1ffa5c37d4cb2b56a5a8d9f5601b0b668ef7e (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
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
From 05b6e81bd4ceca8d6166aa0a000919cde2bfde3e Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Sun, 17 Feb 2019 23:51:03 +0100
Subject: [PATCH] Un-break optional Qt/KF5 detection

And if we enable an option, make the necessary libraries REQUIRED.
---
 core/cmake/rules/RulesKDEFramework.cmake | 34 +++-----------
 core/cmake/rules/RulesQtFramework.cmake  | 58 +++++-------------------
 core/cmake/rules/RulesX11.cmake          |  7 +--
 3 files changed, 18 insertions(+), 81 deletions(-)

diff --git a/core/cmake/rules/RulesKDEFramework.cmake b/core/cmake/rules/RulesKDEFramework.cmake
index 610033425c..2d8acc7956 100644
--- a/core/cmake/rules/RulesKDEFramework.cmake
+++ b/core/cmake/rules/RulesKDEFramework.cmake
@@ -26,19 +26,15 @@ find_package(KF5 ${KF5_MIN_VERSION} QUIET
 )
 
 if(ENABLE_KFILEMETADATASUPPORT)
-
-    find_package(KF5 ${KF5_MIN_VERSION} QUIET
-                                        OPTIONAL_COMPONENTS
-                                        FileMetaData            # For Plasma destop file indexer support.
-    )
-
+    # For Plasma desktop file indexer support.
+    find_package(KF5FileMetaData ${KF5_MIN_VERSION} REQUIRED)
 endif()
 
 
 if(ENABLE_AKONADICONTACTSUPPORT)
 
-    find_package(KF5 ${AKONADI_MIN_VERSION} QUIET
-                                            OPTIONAL_COMPONENTS
+    find_package(KF5 ${AKONADI_MIN_VERSION} REQUIRED
+                                            COMPONENTS
                                             Akonadi
                                             AkonadiContact      # For KDE Mail Contacts support.
                                             Contacts            # API for contacts/address book data.
@@ -46,15 +42,9 @@ if(ENABLE_AKONADICONTACTSUPPORT)
 
 endif()
 
-find_package(KF5 ${KSANE_MIN_VERSION} QUIET
-                                      OPTIONAL_COMPONENTS
-                                      Sane                      # For digital scanner support.
-)
+find_package(KF5Sane ${KSANE_MIN_VERSION} QUIET) # For digital scanner support.
 
-find_package(KF5 ${CALENDAR_MIN_VERSION} QUIET
-                                         OPTIONAL_COMPONENTS
-                                         CalendarCore           # For Calendar tool.
-)
+find_package(KF5CalendarCore ${CALENDAR_MIN_VERSION} QUIET) # For Calendar tool.
 
 if ("${KF5CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
 
@@ -62,18 +52,6 @@ if ("${KF5CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
 
 endif()
 
-if(ENABLE_AKONADICONTACTSUPPORT AND (NOT KF5AkonadiContact_FOUND OR NOT KF5Contacts_FOUND))
-
-    set(ENABLE_AKONADICONTACTSUPPORT OFF)
-
-endif()
-
-if(ENABLE_KFILEMETADATASUPPORT AND NOT KF5FileMetaData_FOUND)
-
-    set(ENABLE_KFILEMETADATASUPPORT OFF)
-
-endif()
-
 # Check if KIO have been compiled with KIOWidgets. digiKam only needs this one.
 
 if(KF5KIO_FOUND)
diff --git a/core/cmake/rules/RulesQtFramework.cmake b/core/cmake/rules/RulesQtFramework.cmake
index e6e1670ed3..1ab57af4d4 100644
--- a/core/cmake/rules/RulesQtFramework.cmake
+++ b/core/cmake/rules/RulesQtFramework.cmake
@@ -18,47 +18,19 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
 )
 
 if(ENABLE_QWEBENGINE)
-
-    find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-                                       NO_MODULE
-                                       COMPONENTS
-                                       WebEngineWidgets
-    )
-
+    find_package(Qt${QT_VERSION_MAJOR}WebEngineWidgets REQUIRED NO_MODULE)
 else()
-
-    find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-                                       NO_MODULE
-                                       COMPONENTS
-                                       WebKitWidgets
-    )
-
+    find_package(Qt${QT_VERSION_MAJOR}WebKitWidgets REQUIRED NO_MODULE)
 endif()
 
-find_package(Qt${QT_VERSION_MAJOR}
-             OPTIONAL_COMPONENTS
-             DBus
-             OpenGL
-)
+find_package(Qt${QT_VERSION_MAJOR}DBus)
+find_package(Qt${QT_VERSION_MAJOR}OpenGL)
 
 if(Qt6_FOUND)
-
-    find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-                 NO_MODULE COMPONENTS
-                 StateMachine
-    )
-    find_package(Qt${QT_VERSION_MAJOR}
-                 OPTIONAL_COMPONENTS
-                 OpenGLWidgets
-    )
-
+    find_package(Qt${QT_VERSION_MAJOR}StateMachine REQUIRED NO_MODULE)
+    find_package(Qt${QT_VERSION_MAJOR}OpenGLWidgets)
 else()
-
-    find_package(Qt${QT_VERSION_MAJOR}
-                 OPTIONAL_COMPONENTS
-                 XmlPatterns                # For Rajce plugin
-    )
-
+    find_package(Qt${QT_VERSION_MAJOR}XmlPatterns) # For Rajce plugin
 endif()
 
 if(ENABLE_DBUS)
@@ -74,17 +46,9 @@ endif()
 # Qt Dependencies For unit tests and CLI test tools
 
 if(BUILD_TESTING)
+    find_package(Qt${QT_VERSION_MAJOR}Test REQUIRED NO_MODULE)
 
-    find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-                                       NO_MODULE
-                                       COMPONENTS
-                                       Test
-    )
-
-    find_package(Qt${QT_VERSION_MAJOR}
-                 QUIET
-                 OPTIONAL_COMPONENTS
-                 Qml WebView  # Optional, for 'sialis' O2 library test tool.
-    )
-
+    # Optional, for 'sialis' O2 library test tool.
+    find_package(Qt${QT_VERSION_MAJOR}Qml QUIET NO_MODULE)
+    find_package(Qt${QT_VERSION_MAJOR}WebView QUIET NO_MODULE)
 endif()
diff --git a/core/cmake/rules/RulesX11.cmake b/core/cmake/rules/RulesX11.cmake
index d7659eed34..9c145970b2 100644
--- a/core/cmake/rules/RulesX11.cmake
+++ b/core/cmake/rules/RulesX11.cmake
@@ -11,12 +11,7 @@ find_package(X11)
 if(X11_FOUND)
 
     if(NOT Qt6_FOUND)
-
-        find_package(Qt5 ${QT_MIN_VERSION} NO_MODULE
-                                           COMPONENTS
-                                           X11Extras
-        )
-
+        find_package(Qt5X11Extras ${QT_MIN_VERSION} NO_MODULE)
     endif()
 
     set(HAVE_X11 TRUE)
-- 
2.41.0