On 9/4/20 10:27 AM, glis-glis wrote:
On Thursday, 3 September 2020 at 14:34:48 UTC, Jacob Carlborg wrote:
Oh, multiple binaries, I missed that. You can try to add multiple
configurations [1]. Or if you have executables depending on only one
source file, you can use single-file packages [2].
Thanks, but this still means I would have to write an install-script
running
`dub build --single`
on each script, right?
I looked at tsv-utils [1] which seems to be a similar use-case as mine,
and they declare each tool as a subpackage. The main package runs a
d-file called `dub_build.d` which compiles all subpackages. Fells like
an overkill to me, I'll probably just stick to a makefile.
[1]
https://github.com/eBay/tsv-utils/blob/master/docs/AboutTheCode.md#building-and-makefile
I don't know is it suitable for your use case but I do the following:
1. add a recipe in every tool files like:
```
drug@drug: ~/utils$ cat ./tools/count.d
#!/usr/bin/env dub
/+ dub.sdl:
name "count"
targetType "executable"
targetPath "../bin"
targetName "count"
dependency "abcdLibrary" version="*" path="path/to/abcdLibrary"
+/
int main()
{
...
}
```
2. place all tool files into one directory `tools`
3. build them using `dub build --single tools/count.d`
4. Now I have all binary in `bin` directory, all sources in `tools`
directory and have no subpackages at all