[zeromq-dev] Change Build Tool To CMake

Steven McCoy steven.mccoy at miru.hk
Wed Jan 27 13:32:38 CET 2010


2010/1/27 Peter Alexander <vel.accel at gmail.com>

> My understanding is that CMake is being widely adopted over autotools
> for many various reasons in many complex projects (e.g. KDE, VTK,
> 3dSlicer, and Apache Qpid, and potentially Qt).
>
> I find it to be a very intuitive, flexible, fast and complete build
> system. I haven't built a project with autoconf/autotools in years..
> imho naturally.
>
>
If you want a challenge, have a go with OpenPGM 2, ensuring compatibility on
RHEL 4 with CMake 2.4 all the way through to modern distributions: RHEL 5.4,
Fedora Core 12, Ubuntu 9.10, etc.  It looks like there is no out-of-box
support for Intel C Compiler 11, Sun Studio, MinGW32 or MinGW-w64 at all on
Linux.  I already had to write a custom macro for PIC shared objects which
entailed a lot of slash escapes:

http://code.google.com/p/openpgm/source/browse/tags/release-1-2-18/openpgm/pgm/CMake/macros.cmake

The other parts are reasonably straight forward - multiple build systems:
release, debug, profiled, 32 or 64-bit builds,  then all the options and
pkgconfig based auto-configuration.  Integrating NET-SNMP can be painful as
on RedHat it insists on pulling in RPM libraries, Perl, and others.  Source
code for unit tests sits side-by-side with the target modules, but must be
compiled with less strict warnings.

I'd like to get Wine-gcc working but there's just too many things broken.

Google were using SCons for Chromium but recently moved back to Make.  I'd
love to see OpenOffice.org or the Mozilla projects migrate to SCons or CMake
as they have absolutely zero dependency analysis with Make today.  20 minute
re-build process for changing one source file is insane, especially so if
you cannot run from the build directory.

-- 
Steve-o
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20100127/9901c0c6/attachment.htm>


More information about the zeromq-dev mailing list