diff --git a/source/dub/generators/generator.d b/source/dub/generators/generator.d index 3eeb807..2852c3d 100644 --- a/source/dub/generators/generator.d +++ b/source/dub/generators/generator.d @@ -245,7 +245,7 @@ // add main source files to root executable { auto bs = &roottarget.buildSettings; - if (bs.targetType == TargetType.executable) bs.addSourceFiles(mainSourceFiles); + if (bs.targetType == TargetType.executable || genSettings.single) bs.addSourceFiles(mainSourceFiles); } if (genSettings.filterVersions) diff --git a/test/issue1505-single-file-package-dynamic-library.d b/test/issue1505-single-file-package-dynamic-library.d new file mode 100644 index 0000000..56337a6 --- /dev/null +++ b/test/issue1505-single-file-package-dynamic-library.d @@ -0,0 +1,13 @@ +/+ dub.sdl: + name "single-file-test-dynamic-library" + targetType "dynamicLibrary" ++/ + +module hellolib; + +version(Windows) +{ + import core.sys.windows.dll; + + mixin SimpleDllMain; +} diff --git a/test/issue1505-single-file-package-dynamic-library.sh b/test/issue1505-single-file-package-dynamic-library.sh new file mode 100755 index 0000000..a08bef6 --- /dev/null +++ b/test/issue1505-single-file-package-dynamic-library.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +. $(dirname "${BASH_SOURCE[0]}")/common.sh +cd ${CURR_DIR} +rm -f libsingle-file-test-dynamic-library.{so,dylib} +rm -f single-file-test-dynamic-library.dll + +${DUB} build --single issue1505-single-file-package-dynamic-library.d +if [ ! -f libsingle-file-test-dynamic-library.{so,dylib} ] && [ ! -f single-file-test-dynamic-library.dll ]; then + die $LINENO 'Normal invocation did not produce a dynamic library in the current directory' +fi +rm -f libsingle-file-test-dynamic-library.{so,dylib} +rm -f single-file-test-dynamic-library.dll