On Wednesday, 18 March 2015 at 22:32:06 UTC, Trent Forkert wrote:
On Wednesday, 18 March 2015 at 21:49:17 UTC, Bruno Medeiros wrote:
Why is it insufficient? You don't have to use DUB to the exclusion of everything else. Isn't the use of the preGenerateCommands (http://code.dlang.org/package-format#build-settings) enough to call these other build systems you use?


You're joking, right?

The only sensible way to use multiple languages in the same project is to use the same build system for them. Anything else is way too fragile and hackish.

Arbitrary, contrived example (though not entirely unrealistic):
 * a C(++) executable needs a static D library
 * Said D library in turn uses a C(++) library
* All three of these are built as components of the same project

So now I need a weird tangled mess of build systems calling each other back and forth. Dub really doesn't pull its weight here.

I call dub from makefile rules and feel pretty comfortable about such pattern (apart from being not-so-portable compared to raw dub). And building anything via IDE is just asking for trouble :)

Semantics analysis you can get by simply opening .d file in CDT project is very limited compared to opening dub project because it can't know the import paths for dependencies or pretty much anything about project structure apart from opened file. This isn't much.

Reply via email to