On Wednesday, 19 December 2018 at 12:57:14 UTC, Codifies wrote:
I am currently using this dub.sdl
name "runz80"
targetType "executable"
lflags "libz80/libz80.a"
however I will be creating a number of plugins, each plugin
will consist of a single source file, I'd like the plugin
source directory to be separate from main source directory and
compile the plugins (.so) to a (binary) plugins directory
(the plugins will be dynamically loaded at runtime - I've
previously done this in C so I don't anticipate any particular
issues - famous last words!)
I could do this with a few simple rules in a Makefile, but I
have no clue how to achieve this using dub.
can someone show me a concrete example of doing this ? Ideally
just dropping a new source file into the plugins source folder
should produce a new .so the next time dub is run, without
having to explicitly add each plugin to the dub file...
Unless the plugins have dub dependencies, don't use dub for it.
Plugins that do can have their own dub.sdl/json with targetType
"dynamicLibrary".
Ideally just dropping a new source file into the plugins source
folder should produce a new .so the next time dub is run,
without having to explicitly add each plugin to the dub file...
I don't see how you can do this with dub, and I wouldn't attempt
it either. Just use make, and have make call dub for the main
project (and potentially any plugins that need it). Remember to
make the dub targets `.PHONY` since you don't want to be managing
the D dependencies by hand.