[cmake-developers] Regression in language support infrastructure for CMake 2.8.10-rc3

Alan W. Irwin irwin at beluga.phys.uvic.ca
Mon Oct 29 16:36:01 EDT 2012


On 2012-10-29 13:16-0400 David Cole wrote:

> The bottom line is: we changed where the output files of an
> enable_language call go to make them
> "exact-version-of-CMake-specific". Anybody who was depending on the
> location of those files needs to update their own code accordingly. I
> think the number of people/projects affected by this should be quite
> small... Admittedly: for those that are affected (you, sorry), it's
> annoying, but it should be easy to apply the above type changes and
> have your custom language support files work for older and newer
> versions of CMake.
>
> Please let me know if this seems reasonable to you.

Hi Dave:

You guys have a very good track record for keeping backwards compatibility,
but language support is a really special area with relatively few
groups adding language support externally (although it is clear more
groups than the PLplot group do this).  Therefore, I completely
understand why you guys are tempted to go against your track record
and simply make this backwards incompatible change without adding any
complications to keep backwards compatibility. Also, from what you
have said it does seem straightforward (although I haven't tried it
yet) to modify a particular language's support so it works with the
new language support infrastructure as well as the old.

How about this for a compromise?  Add a note to your release notes
that announces this backwards incompatibility introduced into the
language support infrastructure for 2.8.10.  That note should include
most of the contents of your e-mail to me about the practical steps
required for external project's language support to work both with old
and new language support infrastructure.  Or, better yet, point to a
text file that is part of the 2.8.10 and future releases that contains
this essential information.

Also _ideally_ you should check that those update instructions actually work
for the simple Ada project that you can easily obtain with

svn checkout \
https://plplot.svn.sourceforge.net/svnroot/plplot/branches/test_cmake/test_ada

I will be applying your instructions to update our D language support
after lunch.  If those work, I will follow up by doing the same thing
for Ada (if you don't beat me to it with a patch for how the simple
Ada project can be updated). Presumably I will be able to give you
feedback on your instructions by late this afternoon (evening your
time).  At this point I am not actually completely convinced your
instructions will work since both D and Ada language support have been
around a long time and are not nearly as modernized as the core
language support that appears in CMake-2.8.9.  With luck, that will
not be an issue for either D or Ada, but we will see.  You
might want to consider delaying your release until you get feedback
from me on your instructions, but that decision is up to you.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________



More information about the cmake-developers mailing list