Hello all,
Given the recent chatter and movement on CMake D support, I've
decided to go public with a project of mine earlier than I had
intended.
Before I go further, a request: do *not* post this to
HN/reddit/etc just yet. It is still in early stages and an
upstream CMake 3.0 release (without D support) is incoming.
Announcing this far and wide will only yield confusion at this
time.
So, what is this?
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.
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.
Status
* 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
Github: https://github.com/trentforkert/cmake
Wiki: https://github.com/trentforkert/cmake/wiki
Binaries:
https://drive.google.com/folderview?id=0B5vzzNch4TtET09HM0NLWURKV1U&usp=drive_web#list
As is tradition here, destroy!
- Trent