CMake: fail if `Qt5::GuiPrivate` is not found
authorAlexander Batischev <eual.jp@gmail.com>
Mon, 8 Nov 2021 12:31:50 +0000 (15:31 +0300)
committerAlexander Batischev <eual.jp@gmail.com>
Mon, 15 Nov 2021 10:57:18 +0000 (13:57 +0300)
`nextcloud` and `nextcloudCore` depend on three Qt5 components which
aren't mentioned in `find_library`: `Xml`, `Network`, and `GuiPrivate`.
The first two are omitted by mistake, apparently, so this commit just
adds them.

`GuiPrivate` is a special case: it doesn't have its own CMake config, so
adding it to "required components" in `find_package` will always fail
the build. Thus, we implement our own check instead.

Signed-off-by: Alexander Batischev <eual.jp@gmail.com>
src/gui/CMakeLists.txt

index 3cbca8dbf29d9f7e2334a6d7fd5003320f569f74..b41810cd334cacc8cea19a5854f1cc33192cbe23 100644 (file)
@@ -1,5 +1,8 @@
 project(gui)
-find_package(Qt5 REQUIRED COMPONENTS Widgets Svg Qml Quick QuickControls2)
+find_package(Qt5 REQUIRED COMPONENTS Widgets Svg Qml Quick QuickControls2 Xml Network)
+if (NOT TARGET Qt5::GuiPrivate)
+    message(FATAL_ERROR "Could not find GuiPrivate component of Qt5. It might be shipped as a separate package, please check that.")
+endif()
 
 if(CMAKE_BUILD_TYPE MATCHES Debug)
     add_definitions(-DQT_QML_DEBUG)