CMake for D2 ready for testers

Jens Mueller jens.k.mueller at gmx.de
Fri Oct 8 12:41:55 PDT 2010


> > Do you recommend to learn & use CMake instead of using tools like
> > Xfbuild (I'm interested for D project and, so far, was accustomed to
> > Haskell's Cabal, so looking for similar experience.)
> 
> For C, C++, Fortran, and hence D, I personally find CMake awkward and
> clumsy.

I also think CMake isn't that shiny. But you can get the job done once
you're familiar with it. And it has been adopted by some big projects:
Blender 3D, Boost, clang, KDE, LLVM, MiKTeX, MySQL (see
http://en.wikipedia.org/wiki/Cmake#Applications_using_CMake).
That should be put into consideration.
I never used this but CMake has generators for Visual Studio and through
the Makefile Generators you can integrate it in CodeBlocks and Eclipse.
Don't know how important this is. I live happily with the generated
Makefiles.
Coming back to the original question. I can recommend CMake especially
if one plans to do C and C++ programming. For D we (Steve, Dean and I)
are trying to improve the support. Fixing Mac OSX is next on my list.

> I generally prefer SCons or Waf -- Waf is originally a fork of
> SCons but now is its own thing, and is aimed at being an Autotools
> replacement ("get source download and build on this machine" type
> model).  SCons is better at handling the sort of situation I have:
> source repository shared by many platforms all needing builds in situ.
> Waf is somewhat faster than SCons.  For my sins I am peripherally
> involved in the SCons development community, and I at some time elected
> myself as the maintainer of the D plugin -- the plugin as D shipped
> until recently with SCons assumed D 1.0 and I am only using D 2.0.  So
> when I asked who could fix the problem, the answer came back "you can",
> so I did, sort of :-) It would be good if there was a community of
> D/SCons users so as to get some headway on making the SCons D plugin as
> good as it needs to be.

I have to admit I neither know Scons nor Waf. Maybe these are superior.
They're Python-based, right? I'll guess that makes them favorable for
Python programmers.
On top of my head some things I find nice in CMake. Just curious whether
Scons/Waf have similar features.
* Find Google Test/other libraries (if supported) in one line:
  find_package(GTest REQUIRED)
* Tight integration for testing and packaging (ctest, cpack)
* Publishing build/test results
* No dependencies besides a C++ compiler for installation.
* Continuous Integration watching subversion repository
* Valgrind/Purify integration

Jens


More information about the Digitalmars-d mailing list