[CMake] What does `cross-platform' mean?

Mathias Fröhlich M.Froehlich at science-computing.de
Mon Nov 10 10:18:31 EST 2008


Jed,

Just to tell you, that you are not alone with that kind of problem. I miss a 
solution to that abi problems too.
I have also brought up this question every now and then, but without any 
usable solution yet.
Sadly, I do not have the time to provide such a solution...
... well, and yes I contribute for some opensource projects during my day 
work ...

For me this happens with about every multi abi unix I know of. HP-UX with its 
various 32 and 64 bit abis, the SGI's with three different abis installed, 
solaris with its 32 and 64 bit abi ..........
It all works as long as you compile for the default abi. Since the default 
abi's files usually reside in */lib CMake tests for the files you intent to 
use. But for any non default abi, cmake looks for libs in */lib but needs the 
ones in /*lib/pa20_64 which may be installed or not independent of the 
default abi variant in */lib.

The basic problem is that almost all cmake macros tend to test sideeffects 
that in some special cases are related to what you need to test. But only for 
special cases.
So testing for the existence of a .so in /usr/lib does in no way tell anything 
if you can link with that one...

So, the good old autotools, if you like it or not, tend to test what is 
required for exactly that reason. And guess - this works way better than what 
cmake does.

I need to cope with that for OpenSceneGraph in my example, May solution to 
that is use 'make -i' to just ignore those build failures originating from 
invalid cmake configure decisions.
Not nice, but this is what I could do taking into account that a day has only 
24 hours plus the night :)

It would be a *huge* improovement to cmake and would in fact push it to 
the 'top one' cross platform build systems on this blue marble...

anyway , thanks for developing and providing cmake ...

Greetings

Mathias

-- 
Dr. Mathias Fröhlich, science + computing ag, Software Solutions
Hagellocher Weg 71-75, D-72070 Tuebingen, Germany
Phone: +49 7071 9457-268, Fax: +49 7071 9457-511
-- 
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Dr. Florian Geyer,
Dr. Roland Niemeier, Dr. Arno Steitz, Dr. Ingrid Zech
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Prof. Dr. Hanns Ruder
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196 




More information about the CMake mailing list