Alexander Neundorf wrote:
> I think this is all a mess for cmake's config files, as long as they try
> to be relocatable.
> Should we just forget about relocatable Config.cmake files on UNIX
> (excluding OSX) systems ?

Maybe it would be better to build some awareness into CMake of which 
platforms are symlinking like this, and what they are symlinking. That way, 
if a Config file is found in /lib64/lib/cmake/FooConfig.cmake, cmake would 
be able to 'switch' to use the non-symlink, which would make the relative 
paths correct, as long as the actual install was all into non-symlinks.

Something like this in Linux.cmake (partly pseudocode):

if (ARCHLINUX OR FEDORA18)
  set(PLATFORM_SYMLINK_PAIRS 
    "/lib64" "/usr/lib64"
    "/bin" "/usr/bin" # For illustration only. Config files don't get found 
below /bin, so this doesn't matter.
  )
endif()

Would something like that work? It might not help in the case of someone 
installing to /opt/foo and then putting *that* in their CMAKE_PREFIX_PATH, 
but that's a bug the user is creating in their own environment anyway, not a 
platform quirk for us to handle, so it doesn't matter.

> 
>> > It makes cmake warn if /lib64/ is a symbolic link to /usr/lib/ and a
>> > Config.cmake file has been found in one of both (since any relative
>> > directory references may be wrong then), see the "General Config.cmake
>> > file issue on ArchLinux" thread here from November.
>> 
>> Given that Andrea Scarpino said that the /include dir does not exist, I
>> don't see why you check for it in your patch.
> 
> Maybe somebody adds it in the future...

If that matters (I don't believe it does) you should add at least everything 
else which is in GNUInstallDirs.cmake.

Thanks,

Steve.



--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to