[CMake] Problem Porting from cmake 2.4.7 to 2.6

Alan W. Irwin irwin at beluga.phys.uvic.ca
Fri Jun 27 15:19:13 EDT 2008


On 2008-06-27 11:25-0400 Brad King wrote:

> Alan W. Irwin wrote:
>> On 2008-06-27 16:15+0200 Alexander.Camek at elektrobit.com wrote:
>>
>>> Hi List,
>>>
>>> Today I started to port my Ada project (Windows, MinGW, Ada cmake
>>> files from plplot) from cmake 2.4.7 to cmake 2.6.
>>> Now I have the problem that cmake doesn't want to use gnatmake anymore
>>> and says that gnatmake is broken.
>>
>> I summarized the CMake Ada language support status in
>> http://www.cmake.org/pipermail/cmake/2008-May/021911.html which includes a
>> simple Ada test project I have put together.  That simple test project
>> works
>> fine for 2.4.x, but does not work for 2.6.0 (as you have also found for
>> your
>> own project). The problem is the language support infrastructure for 2.6.0
>> is different than 2.4.x.  At that time I was hoping to figure out the 2.6.0
>> Ada issues fairly quickly, but I could not do that, and something else has
>> now intervened.  So the planned PLplot transition to CMake 2.6.x (and also
>> the transition you were hoping for for your own project) will have to wait
>> until I have more time to fix the Ada 2.6.x issues unless someone else can
>> fix those issues first.
>
> Add this to your language support file:
>
>  SET(CMAKE_Ada_OUTPUT_EXTENSION_REPLACE 1)
>
> This will tell CMake that the object files should not keep the source
> file extension.

You CMake developers are great!  This fix solved all problems for the simple
test project I referred to in my answer to Bill if I use the default static
build for the test Ada library.

However, if I build a shared version of that library (possible as of
revision 8495), then the "hello" executable cannot find that library for
2.6.0 at run time although no such problems occur for 2.4.8.  A
LD_LIBRARY_PATH workaround on Linux exists for 2.6.0, but that should not be
necessary.

The issue is that for 2.4.8, rpath is set appropriately for the Ada executable
to find the Ada shared library that was built, but for 2.6.0, rpath is not
set at all.  Note, I do nothing special with rpath for this simple test
project so it just has the default rpath behaviour.  But that default
behaviour seems to have changed between 2.4.8 and 2.6.0 (probably due to
some limitation in my Ada language support files).

I hope this one is as easy to solve as the OUTPUT_EXTENSION issue.

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); PLplot scientific plotting software
package (plplot.org); 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 mailing list