Colin McCabe 2012-05-22, 01:00
Eli Collins 2012-05-22, 03:10
Radim Kolar 2012-05-22, 10:33
Steve Loughran 2012-05-23, 09:43
Owen O'Malley 2012-05-23, 15:58
Roman Shaposhnik 2012-05-23, 16:18
Eli Collins 2012-05-23, 16:02
Harsh J 2012-05-22, 12:07
Matt Foley 2012-05-22, 18:37
+1, especially for support of Win native builds.
On Tue, May 22, 2012 at 5:07 AM, Harsh J <[EMAIL PROTECTED]> wrote:
> I am +1 with this change as well. CMake is a good choice. My other
> favorite project, KDE, uses CMake as well and it has worked great
> there ever since 2007.
> On Tue, May 22, 2012 at 8:40 AM, Eli Collins <[EMAIL PROTECTED]> wrote:
> > +1 having a build tool that supports multiple platforms is worth the
> > dependency. I've also had good experiences with cmake.
> > On Mon, May 21, 2012 at 6:00 PM, Colin McCabe <[EMAIL PROTECTED]>
> >> Hi all,
> >> We'd like to use CMake instead of autotools to build native (C/C++)
> code in
> >> Hadoop. There are a lot of reasons to want to do this. For one thing,
> it is
> >> not feasible to use autotools on the Windows platform, because it
> depends on
> >> UNIX shell scripts, the m4 macro processor, and some other pieces of
> >> infrastructure which are not present on Windows.
> >> For another thing, CMake builds are substantially simpler and faster,
> >> there is only one layer of generated code. With autotools, you have
> >> generating m4 code which autoconf reads, which it uses to generate a
> UNIX shell
> >> script, which then generates another UNIX shell script, which eventually
> >> generates Makefiles. CMake simply generates Makefiles out of
> >> files-- much simpler to understand and debug, and much faster.
> >> CMake is a lot easier to learn.
> >> automake error messages can be very, very confusing. This is because
> you are
> >> essentially debugging a pile of shell scripts and macros, rather than a
> >> coherent whole. So you see error messages like "autoreconf: cannot
> >> /tmp/ar0.4849: Is a directory" or "Can't locate object method "path" via
> >> package "Autom4te... and so forth. CMake error messages come from the
> >> application and they almost always immediately point you to the problem.
> >> From a build point of view, the net result of adopting CMake would be
> that you
> >> would no longer need automake and related programs installed to build
> >> native parts of Hadoop. Instead, you would need CMake installed.
> CMake is
> >> packaged by Red Hat, even in RHEL5, so it shouldn't be difficult to
> >> locally. It's also available for Mac OS X and Windows, as I mentioned
> >> The JIRA for this work is at
> >> Thanks for reading.
> >> sincerely,
> >> Colin
> Harsh J