D22832: Fix build with pango 1.44
Harald Sitter
noreply at phabricator.kde.org
Wed Jul 31 10:21:05 BST 2019
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20190731/a55a0459/attachment-0001.html>
More information about the Plasma-devel
mailing list