digitalmars.D - What is the current status of D build systems?
- Yuxuan Shui (20/20) Jul 30 2015 Hi,
- Mike Parker (6/7) Jul 30 2015 Premake [1] supports mixing languages in the same build script.
- Yuxuan Shui (3/11) Jul 30 2015 It seems premake-dlang is not capable of fetch dub packages, is
- Manu via Digitalmars-d (12/27) Jul 31 2015 In that it doesn't have a special command to fetch dub packages, that
- Atila Neves (4/8) Jul 31 2015 I'll get that bug fixed soon. I planned on doing it today but ran
- Steven Dwy (10/14) Jul 31 2015 I'm not sure about cmake-d. I think dcarp stated somewhere that
- Trent Forkert (21/30) Jul 31 2015 I've got a handful of work-in-progress changes I've yet to push
- Yuxuan Shui (5/14) Jul 31 2015 Hi, I just want to let you know I've tried to build my project
- lobo (9/28) Jul 31 2015 I use CMake on mixed C/D projects and dub for D-only projects. On
Hi, I'm working on a project that mixes both C and D code, and does code generation as well. I've been using a shell script to hack this together, since I can't figure out how to do this with dub. Now I'm looking for a proper build system for building this project. reggae (https://github.com/atilaneves/reggae) seems to be promising, but it has bugs with indirect dependencies and failed to build my project. I have come across cmake-d and a modified version of cmake (https://github.com/trentforkert/cmake). I haven't tested them yet, because neither of them is updated recently, and I don't know if I should invest time in them. So I want to know what is the current status of those build systems? Are they abandoned or still actively developed? And are there any other build systems I should look into? Thanks. --- Regards, Yuxuan Shui
Jul 30 2015
On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:are there any other build systems I should look into?Premake [1] supports mixing languages in the same build script. It's not a build tool itself, but can generate makefiles and IDE projects. Manu [2] maintains extensions for D support. [1] https://premake.github.io/ [2] https://github.com/premake/premake-dlang
Jul 30 2015
On Friday, 31 July 2015 at 02:00:41 UTC, Mike Parker wrote:On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:It seems premake-dlang is not capable of fetch dub packages, is that correct?are there any other build systems I should look into?Premake [1] supports mixing languages in the same build script. It's not a build tool itself, but can generate makefiles and IDE projects. Manu [2] maintains extensions for D support. [1] https://premake.github.io/ [2] https://github.com/premake/premake-dlang
Jul 30 2015
On 31 July 2015 at 13:20, Yuxuan Shui via Digitalmars-d <digitalmars-d puremagic.com> wrote:On Friday, 31 July 2015 at 02:00:41 UTC, Mike Parker wrote:In that it doesn't have a special command to fetch dub packages, that is true. Premake projects are expressed with a scripting language though (Lua), so it's very easy to execute dub commands to fetch packages as part of your script if that's what you want to do. I haven't received any interest in built-in dub integration, but it's theoretically possible to make a built-in solution for fetching dub packages as part of the process quite easily. Using dub as a build system though is off the table though if you mix languages. It may be useful as a package manager, but generating standard makefiles for the multi-language build is necessary.On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:It seems premake-dlang is not capable of fetch dub packages, is that correct?are there any other build systems I should look into?Premake [1] supports mixing languages in the same build script. It's not a build tool itself, but can generate makefiles and IDE projects. Manu [2] maintains extensions for D support. [1] https://premake.github.io/ [2] https://github.com/premake/premake-dlang
Jul 31 2015
On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:Hi, I'm working on a project that mixes both C and D code, and does code generation as well. [...]I'll get that bug fixed soon. I planned on doing it today but ran out of time. Atila
Jul 31 2015
On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:I have come across cmake-d and a modified version of cmake (https://github.com/trentforkert/cmake). I haven't tested them yet, because neither of them is updated recently, and I don't know if I should invest time in them.I'm not sure about cmake-d. I think dcarp stated somewhere that he wasn't actively using D any more, or something to that effect. The fork of CMake is still active. Trentforkert said he is just waiting for things to progress in the D ecosystem before continuing work. (Mostly related to shared libraries.) If you're willing to build and use the fork (it's actually really easy,) then you can use the CMake generator I wrote for dub a few months back. Simply run `dub generate cmake` and it will spit out build scripts for your project and all of its dependencies.
Jul 31 2015
On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:I have come across cmake-d and a modified version of cmake (https://github.com/trentforkert/cmake).Oh hey, that's me!I haven't tested them yet, because neither of them is updated recently, and I don't know if I should invest time in them.I've got a handful of work-in-progress changes I've yet to push publicly, and even more I've yet to commit. (Yes, I have weird work habits.)So I want to know what is the current status of those build systems?I'm still around, and I fix bugs when they get in my way or someone else complains.Are they abandonedNo. Neglected, but not abandoned.or still actively developed?If I can find the time (and the files, which hopefully survived a recent Linux distro-switch), I'll see about cleaning up and publishing the additional changes I have soon, and getting things on to a more recent version of CMake. As Steven Dwy said, I put the project on a bit of a hiatus while waiting for shared lib support to be ironed out (specifically, the behavior of `export`). Part of my unpublished changes includes a change that renders my previous concerns on that front solved regardless of what becomes of `export`. I would still like to be able to run tests for building shared libraries, and I won't even consider upstreaming until I can. Like I said though, I'll deal with bug reports if you file them. - Trent Forkert
Jul 31 2015
On Friday, 31 July 2015 at 22:40:25 UTC, Trent Forkert wrote:On Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:Hi, I just want to let you know I've tried to build my project with your cmake fork, and it worked like a charm :) Good to hear it's still alive. Let's hope the situation about shared libraries can improve and you can move on.[...]Oh hey, that's me![...]I've got a handful of work-in-progress changes I've yet to push publicly, and even more I've yet to commit. (Yes, I have weird work habits.) [...][...]
Jul 31 2015
On Friday, 31 July 2015 at 23:59:07 UTC, Yuxuan Shui wrote:On Friday, 31 July 2015 at 22:40:25 UTC, Trent Forkert wrote:I use CMake on mixed C/D projects and dub for D-only projects. On one project I'm using CMake to invoke dub to keep the D libs up to date and no another I invoke CMake from dub to build the C cruft. I find both work extremely well and are much better than shell scripts or plain Makefile bashing. bye, loboOn Friday, 31 July 2015 at 00:13:42 UTC, Yuxuan Shui wrote:Hi, I just want to let you know I've tried to build my project with your cmake fork, and it worked like a charm :) Good to hear it's still alive. Let's hope the situation about shared libraries can improve and you can move on.[...]Oh hey, that's me![...]I've got a handful of work-in-progress changes I've yet to push publicly, and even more I've yet to commit. (Yes, I have weird work habits.) [...][...]
Jul 31 2015