On Sunday, 22 August 2021 at 10:24:13 UTC, Mathias LANG wrote:
On Sunday, 22 August 2021 at 03:22:02 UTC, Brian Tiffin wrote:
...
IIUC, you want to generate multiple binaries, too ?
In which case, I think you need more of a build tool solution
than a language solution.
Recent-ish versions of DUB (>= v1.24.0) support this out of the
box.
Provided the following structure:
```
+ $(pwd)
+ - dub.json
+ - source/
+ - source/appname/
+ - source/appname/prog1.d
+ - source/appname/prog2.d
+ - source/appname/common.d
```
If your `dub.json` contains:
```
{
"name": "swissarmyknife",
"targetType": "executable",
"configurations": [
{
"name": "prog1",
"targetName": "prog1",
"mainSourceFile": "source/appname/prog1.d"
},
{
"name": "prog2",
"targetName": "prog2",
"mainSourceFile": "source/appname/prog2.d"
}
}
```
It will build `prog1` by default, and `prog2` if you use `dub
build -c prog2`.
Note that you might want to put a `library` configuration as
first entry,
so that you can also use your code base as a library if you
wish to extend your project later.
Cool, thanks Mathias. I'm still using `gdc-11` on the play
machine. I tried `dub` with vibe.d and it's borked on this 32bit
laptop. Probably simple, but at this point on the learning
curve, the hassles with dmd and dub are keeping me away from
those tools. Might be soon to those steps, but not today. ;-)
Bookmarks made to revisit this thread when the time comes.
I do look forward to attaining a more complete grasp of the D
space. The hint that Ali passed on about `version` settings not
carrying through to imports helped enough that I'm pretty happy
with the plans for now. They might be wrong headed plans in the
grand scheme, but for now, things are working out. A bunch of
stand alone CLI programs, with a boss that can manage them all,
without need of shelling out a process.
Have good, make well