On Thursday, 21 September 2023 at 13:38:30 UTC, Andrey Zherikov
wrote:
On Wednesday, 20 September 2023 at 21:19:22 UTC, Atila Neves
wrote:
Because we don't have one now. Using CMake for D is horrible,
I would say just using CMake is horrible :-D But there are a
lot of people using it (even myself) and they all are trapped
with the language.
Not anymore! ;)
Have you looked as Meson, for example - it even has a
[section about D](https://mesonbuild.com/D.html)?
Yes, and even had to use it for D. I don't know what state
it's in now, but it was pretty much unusable if one had dub
dependencies which... is nearly always the case.
I believe this is applicable to all build systems atm - they
don't know what dub is and how to deal with it.
Well, no, since reggae *does* know what dub is and uses it as a
library.
Then there's the language: I'd rather use D or Python. If
anything, Meson's use case could be questioned just as well by
"why another build language?".
TBH I thought Meson uses python but just found out it's not. My
bad.
Just took a quick look at [known build
tools](https://en.wikipedia.org/wiki/List_of_build_automation_software#Licensing_overview) and noticed that there are (at least) two build tools that have Python as a build language and support D: [SCons](https://en.wikipedia.org/wiki/SCons#Major_features) and [Waf](https://en.wikipedia.org/wiki/Waf_(build_system)#Features). Although I don't how well they support it.
I'm aware of both and looked at them many, many, years ago.
My whole comment was about the reasoning why we need new build
system and can't improve existing one.
dub, for starters, and the fact that `dub describe` doesn't work.
Then there's building by D package, which isn't going to be easy
anywhere else.