September 21, 2019
Hi,

I've got a dub package with the following configuration file

---
{
   "description": "A minimal D application.",
   "license": "proprietary",
   "authors": [
      "me"
   ],
   "copyright": "Copyright © 2019, me",
   "name": "test",
   "targetType"  : "none",

   "dependencies": {
       "test:mylib"      : "*"
      ,"test:myexe1"     : "*"
   },

   "subPackages": [
      {
          "name"        : "mylib"
         ,"targetType"  : "library"
         ,"sourcePaths" : ["mylib/source"]
         ,"importPaths" : ["mylib/source"]
      }
      ,{
          "name"       : "myexe1"
         ,"targetType" : "executable"
         ,"sourcePaths": ["myexe1/source"]
         ,"importPaths": ["myexe1/source"]
         ,"dependencies": {
           "test:mylib" : "*"
         }
      }
   ]
}
---

when building this, dub gives me

---
 dub build --force
Performing "debug" build using /usr/bin/dmd for x86_64.
test:mylib ~master: building configuration "library"...
test:myexe1 ~master: building configuration ""...
Linking...
---

Note that the configuration of myexe1 is "". I want it to be 'application', just like this:

---
% dub build test:myexe1
Building package test:myexe1 in /home/tobias/projects/test/
Performing "debug" build using /usr/bin/dmd for x86_64.
test:mylib ~master: target for configuration "library" is up to date.
test:myexe1 ~master: building configuration "application"...
Linking...
To force a rebuild of up-to-date targets, run again with --force.
---

Background: the project will contain multiple executables that use vibe-d. If they are not build as 'application' the version VibeDefaultMain seems to have no effect.

What's the best way to configure this?