Hi D

Coming from a python background it's worked well to organize my D projects as a dub `sourceLibrary` and then to put top level programs in a directory named `scripts` that are just dub single file projects. So the layout looks like this:

```
rootdir/
  |
  +- mypackage/
  |    |
  |    +- libfile1.d
  |    +- libfile2.d
  |
  +- scripts/
  |    |
  |    +- prog1.d
  |    +- prog2.d
  |
  +- dub.json
```
In dub.json "scripts" are ignored via `"excludedSourceFiles":["scripts/*"]`. Each "script" includes `mypackage` via:
```d
#!/usr/bin/env dub
/+ dub.sdl:
   dependency "mypackage" version="*" path=".."
   dependency (other nonlocal packages)
+/
```

...and all seems rather familiar to a python programmer and I avoid the complexities of dub sub-projects.

For building the individual "scripts" as binaries, it be nice output the binaries to another directory, say `bin`. Is there an override for the dub command line that would specify the output location? Maybe something like:
```bash
dub --single -o targetPath=./bin ./script/prog1.d
```
?
(Here the mythical argument `-o` overrides a single build configuration setting.)

After reading over the dub documentation I don't see a general way to override project options via the command line, but maybe it's there and I couldn't understand what the dub docs were trying to say.

Reply via email to