dub: Is it possible to have a library target and depend on it in the same dub config?

Mike Parker aldacron at gmail.com
Fri Sep 18 12:03:45 UTC 2020

On Friday, 18 September 2020 at 11:38:14 UTC, wjoe wrote:
> Something like this:
> configuration "lib" {
>   targetType "dynamicLibrary"
>   sourceDir "source/lib/"
> }
> configuration "app" {
>   targetType "executable"
>   sourceFiles "source/app.d"
>   linkWith "lib"
> }
> I found subConfiguration in the docs but that seems to be 
> related to external dependencies.
> app.d merely provides a CLI to the library as well as an option 
> to run as a server. I don't want to have the overhead of an 
> entire git repo and such for something that is a single file 
> and also closely related to the library.

Yes, this is possible. Should be something like this:

configuration "lib" {
    targetType "dynamicLibrary"
    targetPath "lib"
    sourcePaths "source/lib/"
    excludedSourceFiles "source/app.d"

configuration "app" {
    targetType "executable"
    mainSourceFile "source/app.d"
    excludedSourceFiles "source/lib/*.d"
    importPaths "source/lib"
    libs "lib/libName"

More information about the Digitalmars-d-learn mailing list