How to make project with main application and cli application in the same folder?

Mike Parker aldacron at gmail.com
Sun Apr 21 16:41:08 UTC 2024


On Sunday, 21 April 2024 at 08:44:38 UTC, alex wrote:
> Hi guys. Trying to play with vibe-d and want to create separate 
> web app, and cli app which can add admin users. When I just 
> keep both files app.d and cli.d in source folder, I get an 
> error that I can't have more then 1 main function.
>

You can do this using configurations. Whichever you list first 
will be the default. Then you can use `-c configName` or 
`--config=configName` to build the other one.

You'll want to exclude one of the main functions when building 
the configuration to which it doesn't belong. You can do that 
with version specifications (e.g., add a `cli` version in the cli 
configuration, then `vesrion(cli) void main {...}` in the code). 
Alternatively, if the files the main functions are in are 
self-contained, then you can just exclude the one you don't need 
in each configuration with the `excludeSourceFiles` directive.

Configurations:
https://dub.pm/dub-guide/recipe/#configurations


More information about the Digitalmars-d-learn mailing list