On Monday, 30 May 2016 at 19:16:50 UTC, Jason White wrote:
I am pleased to finally announce the build system I've been
slowly working on for over a year in my spare time:
snip
In fact, there is some experimental support for automatic
conversion of Makefiles to Button's build description format
using a fork of GNU Make itself:
https://github.com/jasonwhite/button-make
I'm going to take a look at that!
- I am aware of Reggae, another build system written in D.
Although, I admit I haven't looked at it very closely. I am
curious how it compares.
Since I wrote reggae, let me compare ;)
- Correct incremental builds.
Yep.
- Automatic dependency detection (for any build task, even
shell scripts).
Yes for C/C++/D, no for random tasks in general, but yes if you
use the tup backend.
- Build graph visualization using GraphViz.
Use the ninja backend, get it for free.
- Language-independent. It can build anything.
So can reggae, but the built-in high-level rules only do C/C++/D
right now.
- Can automatically build when an input file is modified (using
inotify).
Nope, I never found that interesting. Possibly because I keep
saving after every edit in OCD style and I really don't want
things running automatically.
- Recursive: It can build the build description as part of the
build.
I'm not sure what that means. reggae copies CMake here and runs
itself when the build description changes, if that's what you
mean.
- Lua is the primary build description language.
In reggae you can pick from D, Python, Ruby, Javascript and Lua.
Atila