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