I'd like to announce a newly-GPL'd build system for C++ that
eliminates the need to maintain build scripts.
Cake differs from CMake, scons, Boost.Build and others, in that there
is no Makefile, Sconstruct, Jamfile, Bakefile etc. Cake spiders out
from the file containing the main function, using gcc's dependency
detection and a few well-defined naming conventions to find the
minimal set of cpp and hpp files needed to produce an executable.
Developers annotate their headers and sources with special comments to
indicate link and compile flags. Internally, like CMake, cake uses
make to perform builds. After a few comment annotations are added to
some header files for linked libraries, most projects can be
interactively developed with a build process approaching the
convenience of dynamic languages:
cake myapp.cpp && ./bin/myapp
All dependency discovery is performed lazily, making its performance
roughly equal to CMake, with very fast incremental rebuilds.