Wireshark mailing list archives

Re: Status Cmake Win32 support


From: Graham Bloice <graham.bloice () trihedral com>
Date: Tue, 26 Nov 2013 21:42:27 +0000

On 26 November 2013 12:15, Joerg Mayer <jmayer () loplof de> wrote:

Just a short note on this one, the rest after work and some testing :-)

On Sun, Nov 24, 2013 at 09:51:47PM +0000, Graham Bloice wrote:
The above fix for gtkui then broke wiretap, and some other things, e.g.
dumpcap, as it was picking up the gtk3 version of zlib.h, which included
zconf.h which attempted to include unistd.h.  To fix this I modified the
CMakeLists.txt for the affect items to put the ZLIB libraries in front of
the GLIB ones.  This works for everything except wireshark itself.  Try
as
I might, I can't persuade CMake to put the zlib includes in front of the
gtk-3.0 ones, the library is, but not the includes.  Manually hacking the
wireshark.vcxproj file does allow it to build, so I'm close.

I have solved this on my system for both gtk2 and gtk3 by manually changing
gtk[23]/include/zconf.h to
#if 0    /* was set to #if 1 by ./configure */
#  define Z_HAVE_UNISTD_H
#endif

After that things worked.

Ciao
    Jörg


I have a fix for the zlib issue, not sure if it's acceptable though. In
CMakeLists.txt, epan\CMakeLists.txt and wiretap\CMakeLists.txt, add
"include_directories(BEFORE ${ZLIB_INCLUDE_DIRS})" before the first
"add_executable" or "add_library" instruction.  This forces the zlib
include dir to the front of all subsequent compiles for the generator.

I tried all sorts of ways to get zlib to the front but it appears the VS
solution generator will always sort the includes alphabetically unless
there is a BEFORE option.  I'd hoped to do this in the FindZLib.cmake
module but the incantations are beyond me.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: