librelist archives

« back to archive

waf vs CMake, libgit2's experience?

waf vs CMake, libgit2's experience?

From:
Bradley Murray
Date:
2011-11-23 @ 01:43
I've been considering moving from GNU Make to waf for an existing
large project, so I always have my eye out for other projects using
waf. However, I noticed the libgit2 switched from waf to CMake some
time this summer. Could you perhaps expand on your experience with waf
and why you've decided to move away from it?

Thanks,
-Brad

Re: [libgit2] waf vs CMake, libgit2's experience?

From:
Vicent Marti
Date:
2011-11-24 @ 02:04
Hey,

there is a single reason why we decided to move away from waf to
CMake: waf is a generic *build* tool, which is fine for most projects,
but we have some very specific platform compatibility needs. Those
involve being able to build and tweak the library with native tools
(namely, MSVS solutions and XCode projects) instead of letting `waf`
magically wrap the build process. CMake was the only tool that allowed
us to do that, and hence we are (unfortunately) stuck with it.

I've heard that the most recent versions of Waf have added support for
generating native solutions, and I have seen the code, but there's no
documentation anywhere, which kind of leads me to believe the feature
is either experimental or just poorly defined... Either way, I don't
have time to wrestle with build systems anymore, even though I'd love
to switch back to `waf` before the first point release of the library.

Hope that was helpful. Cheers,
Vicent

On Wed, Nov 23, 2011 at 2:43 AM, Bradley Murray <bradtgmurray@gmail.com> wrote:
> I've been considering moving from GNU Make to waf for an existing
> large project, so I always have my eye out for other projects using
> waf. However, I noticed the libgit2 switched from waf to CMake some
> time this summer. Could you perhaps expand on your experience with waf
> and why you've decided to move away from it?
>
> Thanks,
> -Brad
>