sitter added a comment.

  Sure, don't take my bubbling to mean that I object to the diff. I'm just 
musing on it's long-term necessity
  
  When I dump the variables created by the initial PKG_CHECK_MODULES call in 
the finder they do have the requirements in the LIBRARIES and INCLUDES. So in 
point of fact I guess the entire finder is doing it wrong to begin with? ^^
  The reason it needs to reimplement the entire dependency lookup is because it 
uses the variables incorrectly. Out of the retrieved data from pkgconfig it 
constructs find_ calls of which (I guess) the find_path for includes is 
entirely moot because PC_GTK3_INCLUDE_DIRS is complete already, and the 
find_library call should loop over the names in PC_GTK3_LIBRARIES and find 
them. Actually I'm also right now looking at the FindPkgConfig and it looks 
like it has a IMPORTED_TARGET since 3.6, so if we were to bump the cmake 
requirements of plasma the entire finder could be shrunk down to the imported 
targets option which internally will cause findpkgconfig to do the find_library 
dance *and* set up neat targets we can use from the outside.
  
    -- 
PC_GTK3_CFLAGS=-pthread;-I/usr/include/gtk-3.0;-I/usr/include/at-spi2-atk/2.0;-I/usr/include/at-spi-2.0;-I/usr/include/dbus-1.0;-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include;-I/usr/include/gtk-3.0;-I/usr/include/gio-unix-2.0/;-I/usr/include/cairo;-I/usr/include/pango-1.0;-I/usr/include/harfbuzz;-I/usr/include/pango-1.0;-I/usr/include/atk-1.0;-I/usr/include/cairo;-I/usr/include/pixman-1;-I/usr/include/freetype2;-I/usr/include/libpng16;-I/usr/include/freetype2;-I/usr/include/libpng16;-I/usr/include/gdk-pixbuf-2.0;-I/usr/include/libpng16;-I/usr/include/glib-2.0;-I/usr/lib/x86_64-linux-gnu/glib-2.0/include
    -- PC_GTK3_CFLAGS_I=
    -- PC_GTK3_CFLAGS_OTHER=-pthread
    -- PC_GTK3_FOUND=1
    -- PC_GTK3_INCLUDEDIR=/usr/include
    -- 
PC_GTK3_INCLUDE_DIRS=/usr/include/gtk-3.0;/usr/include/at-spi2-atk/2.0;/usr/include/at-spi-2.0;/usr/include/dbus-1.0;/usr/lib/x86_64-linux-gnu/dbus-1.0/include;/usr/include/gtk-3.0;/usr/include/gio-unix-2.0/;/usr/include/cairo;/usr/include/pango-1.0;/usr/include/harfbuzz;/usr/include/pango-1.0;/usr/include/atk-1.0;/usr/include/cairo;/usr/include/pixman-1;/usr/include/freetype2;/usr/include/libpng16;/usr/include/freetype2;/usr/include/libpng16;/usr/include/gdk-pixbuf-2.0;/usr/include/libpng16;/usr/include/glib-2.0;/usr/lib/x86_64-linux-gnu/glib-2.0/include
    -- 
PC_GTK3_LDFLAGS=-lgtk-3;-lgdk-3;-lpangocairo-1.0;-lpango-1.0;-latk-1.0;-lcairo-gobject;-lcairo;-lgdk_pixbuf-2.0;-lgio-2.0;-lgobject-2.0;-lglib-2.0
    -- PC_GTK3_LDFLAGS_OTHER=
    -- PC_GTK3_LIBDIR=/usr/lib/x86_64-linux-gnu
    -- 
PC_GTK3_LIBRARIES=gtk-3;gdk-3;pangocairo-1.0;pango-1.0;atk-1.0;cairo-gobject;cairo;gdk_pixbuf-2.0;gio-2.0;gobject-2.0;glib-2.0
    -- PC_GTK3_LIBRARY_DIRS=
    -- PC_GTK3_LIBS=
    -- PC_GTK3_LIBS_L=
    -- PC_GTK3_LIBS_OTHER=
    -- PC_GTK3_LIBS_PATHS=
    -- PC_GTK3_PREFIX=/usr
  
  That's from the .pc file
  
    prefix=/usr
    exec_prefix=${prefix}
    libdir=/usr/lib/x86_64-linux-gnu
    includedir=${prefix}/include
    targets=x11 broadway wayland
    
    gtk_binary_version=3.0.0
    gtk_host=x86_64-pc-linux-gnu
    
    Name: GTK+
    Description: GTK+ Graphical UI Library
    Version: 3.22.30
    Requires: gdk-3.0 atk >= 2.15.1 cairo >= 1.14.0 cairo-gobject >= 1.14.0 
gdk-pixbuf-2.0 >= 2.30.0 gio-2.0 >= 2.49.4
    Requires.private: atk atk-bridge-2.0 wayland-client >= 1.9.91 
wayland-protocols >= 1.12 xkbcommon >= 0.2.0 wayland-cursor >= 1.9.91 
wayland-egl  epoxy >= 1.0 pangoft2 gio-unix-2.0 >= 2.49.4
    Libs: -L${libdir} -lgtk-3 
    Cflags: -I${includedir}/gtk-3.0 
    ~

REPOSITORY
  R99 KDE Gtk Configuration Tool

REVISION DETAIL
  https://phabricator.kde.org/D22832

To: arojas, #plasma
Cc: apol, sitter, plasma-devel, LeGast00n, jraleigh, fbampaloukas, GB_2, 
ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, 
abetts, sebas, mart

Reply via email to