From b3e3042bd8de7e474b15d863c9dadc584d47553f Mon Sep 17 00:00:00 2001 From: Maxime Roussin-Belanger Date: Fri, 19 Jan 2024 23:14:07 -0500 Subject: [PATCH] Fix pipewire.h include not found Without linking directly on PkgConfig::PipeWire, the header isn't found. It isn't found because KPipeWire doesn't expose that dependency publicly. --- CMakeLists.txt | 8 +++++--- framebuffers/pipewire/CMakeLists.txt | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c15c72..a27d063 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,12 +74,14 @@ find_package(LibVNCServer REQUIRED) option(DISABLE_PIPEWIRE "Disable PipeWire support." OFF) if(NOT DISABLE_PIPEWIRE) - find_package(KPipeWire REQUIRED) + find_package(KPipeWire CONFIG REQUIRED) + pkg_check_modules(PipeWire IMPORTED_TARGET libpipewire-0.3) + add_feature_info(PipeWire PipeWire_FOUND "Required for pipewire screencast plugin") endif() -add_feature_info(PipeWire KPipeWire_FOUND "Required for pipewire screencast plugin") + find_package(PlasmaWaylandProtocols 1.5.0) -if(KPipeWire_FOUND AND PlasmaWaylandProtocols_FOUND) +if(KPipeWire_FOUND AND PipeWire_FOUND AND PlasmaWaylandProtocols_FOUND) find_package(KWayland REQUIRED) find_package(QtWaylandScanner REQUIRED) find_package(Qt6WaylandClient) diff --git a/framebuffers/pipewire/CMakeLists.txt b/framebuffers/pipewire/CMakeLists.txt index 99f4562..e4d0cd7 100644 --- a/framebuffers/pipewire/CMakeLists.txt +++ b/framebuffers/pipewire/CMakeLists.txt @@ -45,6 +45,7 @@ target_link_libraries(krfb_framebuffer_pw Qt::Gui Qt::DBus KF6::CoreAddons + PkgConfig::PipeWire Plasma::KWaylandClient Wayland::Client krfbprivate