Wireshark-dev: Re: [Wireshark-dev] Windows build environment
From: "Graham Bloice" <graham.bloice@xxxxxxxxxxxxx>
Date: Thu, 12 Jan 2012 10:04:38 -0000

> -----Original Message-----
> From: wireshark-dev-bounces@xxxxxxxxxxxxx [mailto:wireshark-dev-
> bounces@xxxxxxxxxxxxx] On Behalf Of Joerg Mayer
> Sent: 12 January 2012 00:19
> To: Developer support list for Wireshark
> Subject: Re: [Wireshark-dev] Windows build environment
> 
> On Wed, Jan 11, 2012 at 11:23:21AM -0000, Graham Bloice wrote:
> > > On Jan 6, 2012, at 7:46 AM, Graham Bloice wrote:
> > >
> > > > I've also wondered about moving on from nmake and converting to
> > > MSBuild.  This is only usable from VS2008 or later though.  Any
> > > thoughts
> > on
> > > that?
> > >
> > > If we do so, can we continue to have lists of source files in
> > Makefile.common,
> > > rather than, say, having to duplicate such a list in other files
> > > (which developers might forget to do)?  Or, at least, can we
> > > automatically
> > generate
> > > the relevant MSBuild files from files such as Makefile.common?
> >
> > Although I haven't investigated I would expect MSBuild to be able to
> > absorb such input and make it useable, either directly or by a task to
> > generate the required file.
> 
> As an alternative: How about making building with cmake work for Windows?
> After that, maybe the following article has some clues:
> http://stackoverflow.com/questions/1459482/how-to-use-cmake-for-non-
> interactive-build-on-windows
> 
> I'm willing to support anyone who is willing to tackle this, it's just
that I don't
> have a Windows system to do this on my own.
> 

My initial motivation was more about reducing dependencies on stuff that
Windows folks don't normally have installed, e.g. Cygwin, and also to move
things forward a bit in terms of supported build technologies, although I
don't suppose nmake is going away anytime soon.

Last time I looked at CMake on Windows it didn't work for me, but I didn't
look too hard.  IIUC CMake is a "Makefile" generator, can it do all the
stuff we currently do in nmake which is a fair bit more than just working
out dependencies and compiling and linking the required modules?

CMake's ability to generate Visual Studio project files could be attractive
to some as well.