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

Eric NOULARD eric.noulard at gmail.com
Tue Nov 11 05:21:23 EST 2008


Le Tue, 11 Nov 2008 09:13:04 +0100,
Mathias Fröhlich <M.Froehlich at science-computing.de> a écrit :

[...]

> 
> > Perhaps the abi can be determined without a 
> > try-compile, but I am not sure that would work on all platforms.
> That would be indeed the way cmake handles these things. But this
> requires plenty of special case handling.
> 

[...]
plenty of interesting things cutted.
 
> ... and yes, at some point in the future somebody will start beating
> cmake because of being so slow. This guy will then start a new
> project for a build system. And people need again tell this guy that
> the other systems in this area are slow for a good reason.
> :)

I would say that most of the time I don't want to buy for something
I don't need. So even if I think I fully understand the need for
ironed cmake support for cross-compile and multi-ABI lib I would say
that, most of the time I DON'T NEED it.

So please do not make me pay something I don't want but make it
optional, something like:

cmake -DCMAKE_CHECK_ABI:BOOL=TRUE 
or a new polcicy or anything which makes it optional
(or enable me to switch it off).

Now the trouble may comes from the fact we have to find a way to
write FindXXX.cmake in a way they could be execute fast or "iron"
**without changing the syntax**.

I would say that the same find_library may be executed by cmake
with either a [too]-simple "find file" or with a full link.
It may be possible to add an "optional" option to find_library
like LINK_SYMBOL which will indicates the symbol to link with.

This "optional" option would be REQUIRED when
cmake -DCMAKE_CHECK_ABI:BOOL=TRUE
so that CMake would fail if it is not there in each used
find_library.

and really optional if when
cmake

The names and method is the first guess but the main idea is
DO NOT MAKE this cmake behavior the default.
Most of the time I do build project which are neither
cross-compiled nor using multi ABI libs.
I don't want to pay for it.

-- 
Erk


More information about the CMake mailing list