CMake with D support early snapshot

Ben Boeckel mathstuf at gmail.com
Tue Mar 25 11:12:45 PDT 2014


On Tue, Mar 25, 2014 at 17:50:30 +0000, Trent Forkert wrote:
> It's CMake, with various modifications to work toward making D a
> first-class citizen of the CMake world.
> 
> While other projects exist that attempt to add D support, they all do
> so without touching CMake's C++ sources. This means that they will
> inevitably fall short of the mark.

For full-featured support, I agree.

> Additionally, when I first started toying with this several months
> ago, there were a lot of implementation/design issues in the existing
> projects, that went against the way CMake's internals expect things
> to be done. I'm not sure how the current scene is in that regard.

The compiler detection and such hasn't changed in CMake much (AFAICT),
so if they weren't working as expected before, nothing has changed.

> * GDC is fully supported, as is DMD master
> * LDC and older DMD's will work for simpler projects, but won't
> handle linking external libraries at the moment. I had a hack
> workaround for this before, but recently removed it when
> restructuring things a bit.
> * 32-bit DMD on Windows can't really be used for a C/C++/D mixed
> project right now because of problems I'm having with Optlink
> * VisualD generation works (tested on VS 2010 and VS 2012)
> * Makefile generation (and similar generators) work
> * Works on Windows and Linux. OS X ought to work, but is untested, as
> I don't have my OS X dev environment set up at the moment
> * D is listed on the CMake Qt GUI, which is nice

Much more comprehensive than my attempts :) . The depfile support would
be nice to add in so that dependencies are calculated properly. Make
will be left out with DMD/LDC, but GDC will work with Ninja and Make
already (LDC/DMD+Ninja has a pull request with Ninja).

I'll try it out when I get a chance.

--Ben


More information about the Digitalmars-d-announce mailing list