www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Redub v1.28.1: Improving build distributions

reply Hipreme <msnmancini hotmail.com> writes:
These days, Adam implemented directly in OpenD support on Windows 
for executable icons. And it looked really awesome, I asked for 
the implementation so I got that also inside redub. You can 
easily add that by specifying inside your recipe file:
```json
"icon": [
    "logo256x256.png",
    "logo16x16.png",
    "logo32x32.png"
]
```
And that's it. All that you require to get sweet icons on your 
executable like that:
![Windows 
Icons](https://media.discordapp.net/attachments/272822912036372480/1509716593985327264/image.png?ex=6a1ad965&is=6a1987e5&hm=c19fadb36ac6a4cc8c381ed7af8f85ec0fe48831a613dc9b9f9a386a2c3aa3ca&=&format=webp&quality=lossless&width=1248&height=526)

I thought it was really cool and I've gone farther and added it 
to macOS too. Which also needed more implementation than on 
Windows since you get the entire .app structure. But now we get 
to feel like an official build tool!

![MacOS 
App](https://media.discordapp.net/attachments/1240673606669697065/1509947855899590827/image.png?ex=6a1b0806&is=6a19b686&hm=69d6144d36c334fc1d35986e6ff39a33d236641d8dcb9ed43d3d12b749c67e5d&=&format=webp&quality=lossless&width=2698&height=246)

Since macOS needs an entire folder structure, I added it under a 
flag called `redub build --bundle`. I could do it automatically, 
that could happen in the future since that's the only way to get 
icons and it may sound redundant, but nevertheless, it might be 
better to be optional as you won't do any extra processing.


Regardless of the new features, redub has been much more into 
stability maintenance, special thanks to WebFreak that pointed 
out multiple things that were missing comparing to dub, specially 
regarding the script commands.
Some new features also include that you can also specify the 
compiler version to run by using `redub --dc=ldc2 1.42.0` and 
things like that, which was kinda a request misunderstanding I 
had, but it did improve the situation as you don't need to keep 
changing the compiler globally with `redub use`.
May 29
parent reply Kapendev <alexandroskapretsos gmail.com> writes:
On Friday, 29 May 2026 at 17:49:02 UTC, Hipreme wrote:
 These days, Adam implemented directly in OpenD support on 
 Windows for executable icons. And it looked really awesome, I 
 asked for the implementation so I got that also inside redub. 
 You can easily add that by specifying inside your recipe file:
 ```json
 "icon": [
    "logo256x256.png",
    "logo16x16.png",
    "logo32x32.png"
 ]
 ```
 And that's it. All that you require to get sweet icons on your 
 executable like that:
 ![Windows 
 Icons](https://media.discordapp.net/attachments/272822912036372480/1509716593985327264/image.png?ex=6a1ad965&is=6a1987e5&hm=c19fadb36ac6a4cc8c381ed7af8f85ec0fe48831a613dc9b9f9a386a2c3aa3ca&=&format=webp&quality=lossless&width=1248&height=526)
Cool stuff!
May 29
parent Hipreme <msnmancini hotmail.com> writes:
On Friday, 29 May 2026 at 18:19:36 UTC, Kapendev wrote:
 On Friday, 29 May 2026 at 17:49:02 UTC, Hipreme wrote:
 These days, Adam implemented directly in OpenD support on 
 Windows for executable icons. And it looked really awesome, I 
 asked for the implementation so I got that also inside redub. 
 You can easily add that by specifying inside your recipe file:
 ```json
 "icon": [
    "logo256x256.png",
    "logo16x16.png",
    "logo32x32.png"
 ]
 ```
 And that's it. All that you require to get sweet icons on your 
 executable like that:
 ![Windows 
 Icons](https://media.discordapp.net/attachments/272822912036372480/1509716593985327264/image.png?ex=6a1ad965&is=6a1987e5&hm=c19fadb36ac6a4cc8c381ed7af8f85ec0fe48831a613dc9b9f9a386a2c3aa3ca&=&format=webp&quality=lossless&width=1248&height=526)
Cool stuff!
Just a quick headsup that I ended up also adding AppImage support to redub. Simply execute `redub build --bundle=linux` (When using linux). Added also a new configuration on recipe for that: ```json "bundleConfiguration": { "categories" [ "Game" ], "terminal": false } ```
May 29