On Monday, 22 December 2014 at 18:33:42 UTC, Russel Winder via Digitalmars-d-announce wrote:

On Mon, 2014-12-22 at 12:57 +0000, uri via Digitalmars-d-announce wrote:

Thanks, I'm in the process of looking at CMake/SCons alternatives right at the moment and will have a look at dco.

May I ask why SCons is insufficient for you?

It isn't. We review our build system every 12 months over Xmas quite period and tidy it all up. Part of the process is trying alternatives.

We use Python +SCons to drive our builds and CMake to generate native makefiles. We find this approach scales better in terms of speed and system load.

It is a pity CMake invented it's own noisy script though. I also find with CMake it can be extremely difficult to establish context when looking at the code. This is why we're slowly migrating to SCons.

I'm trying dub at the moment and it's working perfectly fine so far as a build tool. The alternatives, such as CMake and SCons, are proven technologies with D support that have also worked for me in the past.

Can I ask what the existing tools were missing and why did you felt it necessary to reinvented your own build tool?

The makers of Dub chose to invent a new build tool despite Make, CMake and SCons. Although it is clear Dub is the current de facto standard build tool for pure D codes, there is nothing wrong with alternate experiments. I hope we can have an open technical discussion of these
points, it can only help all the build systems with D support.

I really like DUB for quick development, but in it's current form I don't see it scaling to larger builds. IMO the use of JSON puts it on par with the Java build tool Ant. JSON and XML (Ant) are data formats, not scripting languages and In my experience a large build system requires logic and flow control. I've had to do this before in Ant XML and it isn't pretty, nor is it flexible.

I use SCons for personal D projects that I think will be long lived and DUB for quick experiments. I was using CMake for personal work but that script is too ugly :)


Reply via email to