[zeromq-dev] VS 2010 version of the build

Kelly Brock Kerby at inocode.com
Fri Oct 29 15:43:34 CEST 2010


Hi Mato,

> > On 10/29/2010 12:25 PM, Martin Lucina wrote:
> >
> > > In the long run I would *much prefer* having some way to generate the
> VS
> > > projects from a single source, anything else is a major pain.
> >
> > Maintaining the MSVC project is a pain anyway.
> >
> > What about the premake approach suggested recently?
> 
> I don't know enough about it to tell if it'll work and if the added value
> makes it worthwhile.
> 
> Main questions:
> 
> 1) Where does premake generate the Visual Studio projects from? I.e. what
> is the source of this information? At the moment we have this information
> in the automake Makefile.am files; can premake somehow get it from
> those/the other way round?

	Premake4 can generate gmake files if desired.  But, I'm not going to
suggest that due to the complexities of various linux builds which you've
already dealt with in the makefiles/autoconf.  Premake is great for Os X and
Windows though, you generate the solutions/xcode projects for whatever you
want, 32/64 bit, debug/release, whatever options you want.  As to the file
list, I just hand coded that myself, it was quick and easy and got 0mq to
work in our build pipeline at work and my personal pipeline at home.

	As a note, I've used 0mq in 64 bit compiles several times and not
had any issues.  My build scripts already generate solutions with 32 bit and
64 bit targets.

> 2) Premake depends on Lua; presumably it can be set up in such a way that
> distribution tarballs of 0MQ can contain the generated files and will
> *not*
> depend on Lua, thus making Lua a dependency only for people wishing to
> build directly from a Git clone.

	Premake is not dependent on Lua, it "is" lua, just with extensions.
The source to premake or the binaries are completely standalone with lua
included directly and not as an external item to go get/build.

> The rationale behind 1) is the usual -- a single place to modify things.

	Agreed, I could probably figure out a method to extract the file
information directly from the make file.  Premake being lua means you have
the full language available to write whatever you want, you don't "just"
have to generate make files with it.

> The rationale behind 2) is the requirement that *release tarballs* should
> build with a minimum of dependencies.

	This would just be a "go to xyz website and get the binary" for the
most part and of course for Window's users only.  VS2k10 support is in the
release candidate though so you have to point to the latest version.  I'd
actually be surprised if most Window's dev folks don't already have
Premake/CMake installed since so many projects have already started
switching to them for Windows support specifically.

> If those of you on this list familiar with Premake can let me know if the
> above is possible then I'll look into it at least experimentally, but
> probably not before mid-November.

	Given the push for alpha around here, I'm pretty much unavailable
except for a couple hours here and there.  But, this is fairly simple and
small, "maybe" I could whip up a quick example this weekend.  No promises
though.

KB




More information about the zeromq-dev mailing list