summaryrefslogtreecommitdiff
path: root/user/krdc/libvncserver-modern-c.patch
blob: d68ee1e17c16daab27298bb0f72b38fcea6658a8 (plain) (blame)
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
Needed for newer GCC.

From 20c8099d34fc495784b360af131195c851c116f8 Mon Sep 17 00:00:00 2001
From: Nicolas Fella <nicolas.fella@gmx.de>
Date: Thu, 9 May 2024 16:53:56 +0200
Subject: [PATCH] Use PkgConfig to find vncclient

This is more robust than the custom find module
---
 CMakeLists.txt                       |  9 ++----
 cmake/modules/FindLibVNCServer.cmake | 48 ----------------------------
 vnc/CMakeLists.txt                   |  7 +---
 vnc/qtonly/CMakeLists.txt            | 12 ++-----
 4 files changed, 6 insertions(+), 70 deletions(-)
 delete mode 100644 cmake/modules/FindLibVNCServer.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c1318839..d5b6dd25 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,13 +72,8 @@ set(CMAKE_CXX_STANDARD 20)
 add_subdirectory(core)
 
 if(WITH_VNC)
-    find_package(LibVNCServer)
-    set_package_properties(LibVNCServer PROPERTIES
-        DESCRIPTION "VNC server / client library"
-        URL "http://libvncserver.sourceforge.net/"
-        PURPOSE "Needed to build VNC client support in KRDC"
-        TYPE REQUIRED
-    )
+    find_package(PkgConfig REQUIRED)
+    pkg_check_modules(VNCCLIENT libvncclient REQUIRED IMPORTED_TARGET)
 
     find_package(LibSSH)
     set_package_properties(LibSSH PROPERTIES
diff --git a/cmake/modules/FindLibVNCServer.cmake b/cmake/modules/FindLibVNCServer.cmake
deleted file mode 100644
index f6634b6e..00000000
--- a/cmake/modules/FindLibVNCServer.cmake
+++ /dev/null
@@ -1,48 +0,0 @@
-# cmake macro to test LIBVNCSERVER LIB
-
-# SPDX-FileCopyrightText: 2006 Alessandro Praduroux <pradu@pradu.it>
-# SPDX-FileCopyrightText: 2007 Urs Wolfer <uwolfer@kde.org>
-#
-# SPDX-License-Identifier: BSD-3-Clause
-
-IF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES)
-    # Already in cache, be silent
-    SET(LIBVNCSERVER_FIND_QUIETLY TRUE)
-ENDIF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES)
-
-FIND_PATH(LIBVNCSERVER_INCLUDE_DIR rfb/rfb.h)
-
-FIND_LIBRARY(LIBVNCSERVER_LIBRARIES NAMES vncserver libvncserver)
-
-# libvncserver and libvncclient are in the same package, so it does
-# not make sense to add a new cmake script for finding libvncclient.
-# instead just find the libvncclient also in this file.
-FIND_PATH(LIBVNCCLIENT_INCLUDE_DIR rfb/rfbclient.h)
-FIND_LIBRARY(LIBVNCCLIENT_LIBRARIES NAMES vncclient libvncclient)
-
-IF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES)
-   SET(CMAKE_REQUIRED_INCLUDES "${LIBVNCSERVER_INCLUDE_DIR}" "${CMAKE_REQUIRED_INCLUDES}")
-   SET(_TEST_SOURCE_CODE "
-#include <rfb/rfbclient.h>
-
-int main()
-{
-    rfbClient* tmp;
-    tmp->GotXCutText;
-    return 0;
-}
-    ")
-    CHECK_CXX_SOURCE_COMPILES("${_TEST_SOURCE_CODE}" LIBVNCSERVER_FOUND)
-ENDIF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES)
-
-IF (LIBVNCSERVER_FOUND)
-  IF (NOT LIBVNCSERVER_FIND_QUIETLY)
-    MESSAGE(STATUS "Found LibVNCServer: ${LIBVNCSERVER_LIBRARIES}")
-  ENDIF (NOT LIBVNCSERVER_FIND_QUIETLY)
-ELSE (LIBVNCSERVER_FOUND)
-  IF (LIBVNCSERVER_FIND_REQUIRED)
-    MESSAGE(FATAL_ERROR "Could NOT find acceptable version of LibVNCServer (version 0.9 or later required).")
-  ENDIF (LIBVNCSERVER_FIND_REQUIRED)
-ENDIF (LIBVNCSERVER_FOUND)
-
-MARK_AS_ADVANCED(LIBVNCSERVER_INCLUDE_DIR LIBVNCSERVER_LIBRARIES)
diff --git a/vnc/CMakeLists.txt b/vnc/CMakeLists.txt
index 9bc06626..edd67f0d 100644
--- a/vnc/CMakeLists.txt
+++ b/vnc/CMakeLists.txt
@@ -19,17 +19,13 @@ ki18n_wrap_ui(krdc_vncplugin
     vncpreferences.ui
 )
 
-target_include_directories(krdc_vncplugin PRIVATE
-    ${LIBVNCCLIENT_INCLUDE_DIR}
-)
-
 target_link_libraries(krdc_vncplugin
     Qt::Core
     KF5::ConfigCore
     KF5::CoreAddons
     KF5::XmlGui
     Qt::Gui
-    ${LIBVNCCLIENT_LIBRARIES}
+    PkgConfig::VNCCLIENT
     krdccore
 )
 
@@ -58,7 +54,6 @@ target_link_libraries(kcm_krdc_vncplugin
     KF5::CoreAddons
     KF5::XmlGui
     Qt::Gui
-    ${LIBVNCCLIENT_LIBRARIES}
     krdccore
 )
 
-- 
GitLab