Wireshark-dev: Re: [Wireshark-dev] Status Cmake Win32 support
From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Thu, 5 Dec 2013 21:51:10 +0000
On 5 December 2013 21:49, Graham Bloice <graham.bloice@xxxxxxxxxxxxx> wrote:
> > > I still have the issue with GTK3, in that I have to comment out the path
> > > "corrections" in FindGTK3.cmake.
> >
> > Hmm, can you please explain the problems you are encountering - I'd like to
> > fix them. In case it involves rewriting the results from pkg-config, can
> > you
> > please include the .pc file?
>
> In FindGTK3.cmake there is some code that modifies the paths found by
> pkg-config only on Windows.  Doing this totally messed up the paths for me,
> I commented out the block of code and everything just worked.  Note that
> I'm using pkg-config from the gtk2 bundle not the Cygwin one.

I can't find a pkg-config.exe in the gtk2 bundle. Where can I find it
(version, arch)? Do I need to do something special in the "nmake ... setup"
phase to get it?


My eyes must have been crossed the other day.  The pkg-config.exe in my wireshark-win32-libs\gtk2\bin dir is from the gtk2 bundle downloaded by the name setup.  It reports itself as version 0.25, and has dependencies on intl.dll and libglib-2.0-0.dll.  I did look around elsewhere and found pkg-configlite (http://sourceforge.net/projects/pkgconfiglite/) that includes the dependencies, so I copied that to my build dir and it worked as well (version 0.28).

I have no idea how it does work, but the odd paths in the gtk3 .pc files are magically transformed into usable output by pkg-config\CMake without the path fiddling hacks currently in FindGTK3.cmake:

GTK3_FOUND
-- GTK3 includes: e:/Wireshark/wireshark-win32-libs/gtk3/include;e:/Wireshark/wireshark-win32-libs/gtk3/include/gtk-3.0;e:/Wireshark/wireshark-win32-libs/gtk3/include/cairo;e:/Wireshark/wireshark-win32-libs/gtk3/include/pango-1.0;e:/Wireshark/wireshark-win32-libs/gtk3/include/atk-1.0;e:/Wireshark/wireshark-win32-libs/gtk3/include/cairo;e:/Wireshark/wireshark-win32-libs/gtk3/include/pixman-1;e:/Wireshark/wireshark-win32-libs/gtk3/include;e:/Wireshark/wireshark-win32-libs/gtk3/include/freetype2;e:/Wireshark/wireshark-win32-libs/gtk3/include;e:/Wireshark/wireshark-win32-libs/gtk3/include/libpng15;e:/Wireshark/wireshark-win32-libs/gtk3/include/gdk-pixbuf-2.0;e:/Wireshark/wireshark-win32-libs/gtk3/include/libpng15;e:/Wireshark/wireshark-win32-libs/gtk3/include/glib-2.0;e:/Wireshark/wireshark-win32-libs/gtk3/lib/glib-2.0/include
-- GTK3 libs: e:/Wireshark/wireshark-win32-libs/gtk3/lib/gtk-3.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/gtk-3.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/gdk-3.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/pangowin32-1.0.lib;C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib/Gdi32.Lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/pangocairo-1.0.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/pango-1.0.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/atk-1.0.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/cairo.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/gdk_pixbuf-2.0.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/gio-2.0.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/gobject-2.0.lib;e:/Wireshark/wireshark-win32-libs/gtk3/lib/glib-2.0.lib
-- GTK3 definitions: -mms-bitfields



And for reference my gtk2 bundle is: gtk+-bundle_2.22.1-20101227_win32.zip