[CMake] New compiler module for Digital Mars' D language -- one
problem remains!
Alexander Neundorf
a.neundorf-work at gmx.net
Wed Aug 29 08:57:26 EDT 2007
On Tuesday 28 August 2007 20:56, you wrote:
> Hey Alexander,
>
> >> Will this patch make it into CVS and eventually an upcoming CMake
> >> release?
> >
> > Done. It will be in cmake 2.6.0.
>
> Excellent! Thanks again for the quick work on this.
>
> >> I'm also curious, what would it take to get the D modules into the
> >> default CMake install? Of course I would be willing to take
> >> maintainership of them.
> >
> > That and one or more tests in CMake/Tests/ so it can be tested every
> > night.
>
> I have no problem creating some test cases however the D compiler module
> is a bit complicated. It supports two different compilers, and two
> different standard library sets (which are incompatible with each
> other). I'm curious how automated testing might work. Would there be a
> machine that would get the D compilers loaded onto?
Yes.
The test should at least build an executable from more than one file, and a
library from more than one file, and link them together.
The more it tests, the better.
I had a look at the files in svn.
Can you please have a look at the C/C++ support files in current cmake cvs ?
They have been reworked a bit, among others to support cross compiling,
a "compiler id" and more fine tuning:
Instead of searching for ranlib, there is now a CMakeFindBinUtils.cmake which
does that.
The CMakeDetermine<lang>Compiler.cmake files now try to build a simple
executable from which a "compiler id" can be extracted, have a look at
CMakeDetermineCompilerId.cmake and e.g. CMakeCCompilerId.c
This compiler id is then used for loading the compiler specific file (instead
of just the basename of the compiler).
There is now support for a CMAKE_SYSTEM_PROCESSOR specific file, have a look
at CMakeCInformation.cmake
The output extension is now set in CMake<lang>Information.cmake and not in the
configured file, this makes it easier to support toolchains which have
unusual extensions.
Bye
Alex
More information about the CMake
mailing list