> > 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