www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - dub build to generate different kinds of libs

reply jeff thompson <jeff.thompson.sd gmail.com> writes:
Hello

Im brand new to D (loving it btw!) and have decided to build a 
largish windows project in the language. First question, is there 
a dub.json setup to have a dub build to generate multiple 
binaries in one call? Like a dll and a static lib. Seems like it 
would be easy maybe im missing something obvious? Like a 
configuration with multiple targetTypes.

Thanks
J
Jul 28 2020
next sibling parent jeff thompson <jeff.thompson.sd gmail.com> writes:
I saw this 
https://github.com/dlang/dub/wiki/Cookbook#creating-a-library-package-that-also-comes-with-an-executable

But it didnt result in creating both a dll or exe and a .lib
Jul 28 2020
prev sibling parent reply Steven Schveighoffer <schveiguy gmail.com> writes:
On 7/28/20 5:50 PM, jeff thompson wrote:
 Hello
 
 Im brand new to D (loving it btw!) and have decided to build a largish 
 windows project in the language. First question, is there a dub.json 
 setup to have a dub build to generate multiple binaries in one call? 
 Like a dll and a static lib. Seems like it would be easy maybe im 
 missing something obvious? Like a configuration with multiple targetTypes.
Yes, just do that (make multiple configurations) You just have to build them separately: dub build --config=library dub build --config=application -Steve
Jul 28 2020
next sibling parent reply jeff thompson <jeff.thompson.sd gmail.com> writes:
On Tuesday, 28 July 2020 at 22:08:14 UTC, Steven Schveighoffer 
wrote:
 On 7/28/20 5:50 PM, jeff thompson wrote:
 Hello
 
 Im brand new to D (loving it btw!) and have decided to build a 
 largish windows project in the language. First question, is 
 there a dub.json setup to have a dub build to generate 
 multiple binaries in one call? Like a dll and a static lib. 
 Seems like it would be easy maybe im missing something 
 obvious? Like a configuration with multiple targetTypes.
Yes, just do that (make multiple configurations) You just have to build them separately: dub build --config=library dub build --config=application -Steve
Thanks Steve!, ya i know i can call build twice but i was wondering if there was any config magic for dub to make it output multiple library types in one call to build
Jul 28 2020
parent reply Andre Pany <andre s-e-a-p.de> writes:
On Tuesday, 28 July 2020 at 22:10:58 UTC, jeff thompson wrote:
 On Tuesday, 28 July 2020 at 22:08:14 UTC, Steven Schveighoffer 
 wrote:
 On 7/28/20 5:50 PM, jeff thompson wrote:
 Hello
 
 Im brand new to D (loving it btw!) and have decided to build 
 a largish windows project in the language. First question, is 
 there a dub.json setup to have a dub build to generate 
 multiple binaries in one call? Like a dll and a static lib. 
 Seems like it would be easy maybe im missing something 
 obvious? Like a configuration with multiple targetTypes.
Yes, just do that (make multiple configurations) You just have to build them separately: dub build --config=library dub build --config=application -Steve
Thanks Steve!, ya i know i can call build twice but i was wondering if there was any config magic for dub to make it output multiple library types in one call to build
As far as I remember if you set the targetType of the main package to none it build all the sub packages in one call. Therefore you have 2 sub packages instead of 2 configurations. But I have to say I have never done it myself, but just saw the pr which should implement this behavior. Kind regards Andre
Jul 29 2020
parent reply jeff thompson <jeff.thompson.sd gmail.com> writes:
On Wednesday, 29 July 2020 at 13:26:45 UTC, Andre Pany wrote:
 On Tuesday, 28 July 2020 at 22:10:58 UTC, jeff thompson wrote:
 On Tuesday, 28 July 2020 at 22:08:14 UTC, Steven Schveighoffer 
 wrote:
 [...]
Thanks Steve!, ya i know i can call build twice but i was wondering if there was any config magic for dub to make it output multiple library types in one call to build
As far as I remember if you set the targetType of the main package to none it build all the sub packages in one call. Therefore you have 2 sub packages instead of 2 configurations. But I have to say I have never done it myself, but just saw the pr which should implement this behavior. Kind regards Andre
Awesome, cant wait to get that ability, as far as my issue i was being a D newb and was setting everything up incorrectly. Im all good now. Thanks -J
Jul 29 2020
parent Andre Pany <andre s-e-a-p.de> writes:
On Wednesday, 29 July 2020 at 17:42:20 UTC, jeff thompson wrote:
 On Wednesday, 29 July 2020 at 13:26:45 UTC, Andre Pany wrote:
 On Tuesday, 28 July 2020 at 22:10:58 UTC, jeff thompson wrote:
 On Tuesday, 28 July 2020 at 22:08:14 UTC, Steven 
 Schveighoffer wrote:
 [...]
Thanks Steve!, ya i know i can call build twice but i was wondering if there was any config magic for dub to make it output multiple library types in one call to build
As far as I remember if you set the targetType of the main package to none it build all the sub packages in one call. Therefore you have 2 sub packages instead of 2 configurations. But I have to say I have never done it myself, but just saw the pr which should implement this behavior. Kind regards Andre
Awesome, cant wait to get that ability, as far as my issue i was being a D newb and was setting everything up incorrectly. Im all good now. Thanks -J
Here the example from the dub repository https://github.com/dlang/dub/tree/814b06edb304701a41b97f98973bdae7870d4d8b/test/issue97-targettype-none Kind regards Andre
Jul 29 2020
prev sibling parent jeff thompson <jeff.thompson.sd gmail.com> writes:
On Tuesday, 28 July 2020 at 22:08:14 UTC, Steven Schveighoffer 
wrote:
 On 7/28/20 5:50 PM, jeff thompson wrote:
 Hello
 
 Im brand new to D (loving it btw!) and have decided to build a 
 largish windows project in the language. First question, is 
 there a dub.json setup to have a dub build to generate 
 multiple binaries in one call? Like a dll and a static lib. 
 Seems like it would be easy maybe im missing something 
 obvious? Like a configuration with multiple targetTypes.
Yes, just do that (make multiple configurations) You just have to build them separately: dub build --config=library dub build --config=application -Steve
I got it figured out, thank you
Jul 28 2020