[bt-devel] Windows build system

Greg Hellings greg.hellings at gmail.com
Sat Feb 28 02:52:46 MST 2009


On Sat, Feb 28, 2009 at 2:26 AM, Jonathan Marsden <jmarsden at fastmail.fm> wrote:
> Greg Hellings wrote:
>
>> No, I think you're just failing to realize that you're dealing with
>> Windows.
>
> If cross-platform open source projects the size of Inkscape, and GIMP
> can do it, I am not really all that sure why BibleTime, which is
> significantly smaller, cannot.  Sometimes they just mandate that a
> particular library *must* be installed *here*, but that's not
> impossible, especially if *here* is the default install location for
> said library anyway, or failing that, a somewhat logical directory under
> C:\.  Inkscape goes as far as doing an initial compilation of a build
> tool, and then using that tool to build Inkscape... there are plenty of
> ways to do it that avoid a GUI/human interaction requirement.
 <snip>

Suffice it to say that building with MinGW is not available at this
time, so those suggestions of using the MinGW version of CMake or
building out of those systems doesn't work.  It is a goal that we be
able to use those, but at the moment, CLucene won't compile in
MSYS/MinGW and there are other complications with Cygwin.  For now I'm
stuck with Visual Studio.

As for cross-platform building from Linux - I have had some success
and experience doing that from Linux/i386 to Linux/Alpha, and I doubt
it would be much harder to build it for Windows/MinGW, provided
CLucene would build.  But that's even more work to build the
toolchains, libraries and so on into some sort of chroot environment
or the like.  I'd rather stick with Visual Studio which I know works,
and works natively.

NSIS will probably be the choice for the installer when that time
comes.  At the moment I'm more concerned with getting the program
working at all, putting in the PNGs so that we can test that solution
and simplifying the build process itself.  Personally I don't really
care how many hoops exist between having a working executable built
and having a working installer - I'd rather simplify the source tree
to executable step first, since that's what most developers will care
about on their system, so they can make quick adjustments,
modifications, etc and test those directly.

Probably your and Eeli's suggestion of packaging up binary versions of
the dependent libraries, etc, already built, and an insert point, sort
of a "get the SVN BibleTime code into this directory" would be the
easiest way to do that.  There's currently a lot of doubt in my mind
about what form to put that in, since I can't get BibleTime to build
against the SVN of SWORD, but I can certainly put something together
for the time being that works with 1.5.11 and I doubt too much of the
actual installation of SVN HEAD over at SWORD will change, so I think
it should remain relatively stable.

I'll let you know how things go on Sunday, when I get a chance to
actually put my words into practice.  Then, provided that all looks
good to everyone, we can work on an NSIS installer for an alpha
release.  My entire Saturday will take me away from home to do
apartment hunting and wedding planning, so I shall get a chance to
test the SVG, the latest SVN adds and upload a build product on Sunday
afternoon.

--Greg



More information about the bt-devel mailing list