On 9/18/20 7:38 AM, 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.


There are other options.

for instance dub (the project) has a library and an application. the config looks like this:

configuration "application" {
        targetType "executable"
        mainSourceFile "source/app.d"
        libs "curl"
        versions "DubUseCurl" "DubApplication"
}

configuration "library" {
        targetType "library"
        excludedSourceFiles "source/app.d"
copyFiles "bin/libcurl.dll" "bin/libeay32.dll" "bin/ssleay32.dll" platform="windows"
        versions "DubUseCurl"
}

You can also build a subproject in the same repository. In that case, you would probably want the app to be the main project, and you then depend on the library project via "foo:lib"

-Steve

Reply via email to