On Monday, 1 June 2015 at 12:34:47 UTC, extrawurst wrote:
dub is a good package manager, but it's not a good build
system. For small projects that just want to list dependencies
and have it build, it's sufficient. Any larger project will
have needs that won't be easily solved by using dub. Which is
why I wrote my own.
Atila
Hi Atila,
you are talking about cross language builds ?
That too.
Other than that limitation, what do you miss ?
Everything I could do (and have) in cmake. Here are two really
simple examples:
1) Automatically run a script to generate the file containing
"main" before doing the build, with proper dependency tracking
2) Concurrently building release and unittest builds
I've worked on complicated build systems before, I know the kind
of thing I'd need.
I have a couple of rather sizable projects running with dub
without problems and one could argue vibe.d is a pretty big
project too which works fine.
I wouldn't consider vibe.d to be a large project.
The D community already suffered enough from not uniting
workforces behind at least SOME standards (hint at tango), a
plethora of options for newcomers to choose from for basics
like building is also daunting IMHO.
I fully support dub being the default package manager and for
most people/projects it is a good enough build system. That's why
my build system builds on dub instead of wanting to replace it.
It leaves the package dependency part to dub and focusses on
build descriptions that can leverage dub's existing knowledge of
the build.
Atila