In "Re: C++ Trunk - Code generator does not generate
generate_MaxMethodBodySize_h.cpp file", Alan Conway wrote:

> I've been tempted for a while to move the build system to cmake -
> there's a good writeup from the KDE project. Anyone know enough about
> cmake to say if this would reduce or increase the amount of
> per-platform stuff in the build system between Unix & windows?

I also would welcome any experience that can be shared regarding cmake
or similar tools.  On the face of it, KDE is sufficiently complex that
cmake (and ctest) should be able to accommodate the Qpid C++
implementation.  The main gotcha is most likely to be handling the
auto generated code.

Cmake has obvious advantages for many Windows developers since they
wouldn't have to learn a foreign shell environment and they'd get the
IDE project files that they usually expect.

So if there is a desire to switch to a cross-platform build tool, I
am certainly eager to help out.

On the other hand, it's worth noting that it is not particularly
difficult to take the M4 distribution (i.e. post-bootstrap) and to
build the broker in cygwin using "configure; make".  Some
posix/foo.cpp files need to be replaced with windows/bar.cpp
equivalents and some of the link lines need tweaking - all to be
expected.  There also appears to be a large build-time penalty in
libtool, but I suspect that can be addressed.

An alternative for M5 could be to update the autotools bootstrap
mechanism to work in (one, or all of) msys/cygwin/SUA with Visual C++
(something like the Mozilla folks do).  To clarify: I am talking about
the build environment for Qpid developers as opposed to users building
applications that use Qpid. I am not suggesting that an average
Windows developer should need to install a special msys environment to
build or use M5.

Also even if we adopt the autotools as the primary build mechanism on
Windows, that doesn't preclude a secondary mechanism for use by
Windows developers who wish to use Visual Studio for their work.  I
would envision that each release would continue to provide working
project and solution files for an easy point and click build.  They
would just be updated less often or require some script/tool in an
intermediate step.  However, each stable "Mx" release would include
an easy to use IDE build and development environment.

If there is insufficient interest in a going the cross-platform route,
such as cmake, I am willing to work on these autotools related changes
for M5 to sync the Linux and Windows build.

Cliff

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to