I've tried to create VisualD projects for druntime and phobos on a couple of occasions, and it's not really possible in a nice way.
I'm thinking that VisualD really should be able to express the 2 most standard and highly iterated D projects that exist :) (and include VS project files in the source trees, like DMD has a VS project now)
Rainer: Have you had a go at this yourself? How did you go? What did you do about the few .c and .asm files?
I've suggested in the past that it would be really nice if VisualD could support building C files too, for these sorts of cases where a project relies on a couple of rogue C files.
It's easy for GDC/LDC because the GCC/Clang command lines are basically identical. For DMD, I guess it implies invoking either DMC for Win32, or MSC for Win64.
The other key detail is that each .c/.asm file needs to produce its own .obj like usual and automatically find it's way into the link command.
This would be a super-helpful feature, since practically all my VisualD projects have this problem with 1-2 rogue .c files, and I have to create separate parallel vcxproj files for them, and then stuff around with the linker.
What do you reckon?
Comment #1 by r.sagitario — 2014-08-08T09:51:13Z
Created attachment 1382
Visual D project for druntime
Comment #2 by r.sagitario — 2014-08-08T09:51:51Z
Created attachment 1383
Visual D project for phobos
Comment #3 by r.sagitario — 2014-08-08T09:57:20Z
Created attachment 1384
Visual D project for phobos
Comment #4 by r.sagitario — 2014-08-08T10:03:53Z
I have attached my projects. I usually only use them for browsing, but I have now tweaked them to build both for Win32 and Win64. There are some explicite paths in there, though (e.g dmc.exe and dmd.exe).
I have to agree that setting this up can be painful, especially if different C/C++ compilers are involved. To avoid having to configure each C file manually, selecting C compiler and options per configuration would be necessary.
Comment #5 by turkeyman — 2014-08-09T04:24:36Z
(In reply to Rainer Schuetze from comment #4)
> I have to agree that setting this up can be painful, especially if different
> C/C++ compilers are involved. To avoid having to configure each C file
> manually, selecting C compiler and options per configuration would be
> necessary.
I think a lot of it would be implicit. DMD-32 kinda implies DMC, DMD-64 kinda implies MSC, GDC->GCC, LDC->Clang?
A couple of C options might need to be exposed, but just a couple of particularly important ones, like a language standard selector, and basics like include paths, RTTI/C++ Exceptions.
Anyway, it's obviously not high priority, but it would definitely be nice, because the druntime situation is pretty common.
Comment #6 by r.sagitario — 2015-01-01T22:10:28Z
basic C++ support in 0.3.40, seems to work for druntime/phobos, too.