Needed for newer GCC. From 20c8099d34fc495784b360af131195c851c116f8 Mon Sep 17 00:00:00 2001 From: Nicolas Fella 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 -# SPDX-FileCopyrightText: 2007 Urs Wolfer -# -# 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 - -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