[CMake] new RPATH support questions
Brad King
brad.king at kitware.com
Tue Mar 7 14:02:37 EST 2006
Alexander Neundorf wrote:
>>Von: Brad King <brad.king at kitware.com>
>>CMake is providing an interface to get whatever RPATHs you want into
>>the installed binary. It is is up to a project's code to produce the
>>proper path for its distribution. Only the project authors know how
>>the binaries will finally be distributed and where other libraries will
>>be located.
>
> Well, ok.
> But how should I do this in practise ?
>
> I could add QT_LIBRARY_DIR, no problem.
> We use xml2, gif, jpeg, jasper, dnssd, zlib, xslt, png, bzip2, cups, agg,
> libart, pcre and others.
> When compiling, cmake nicely adds all the RPATH for all these libs
> installed on the system. To find them out, I would have to manually get
> the directory component of all used libs and add them to the
> INSTALL_RPATH variable. I don't see a way how to do this without much
> manual work and fiddling around.
If those libraries are really installed on the system they should be
available in the system's shared library search path. If they are
installed in a user's home directory the user should set LD_LIBRARY_PATH
to make them available. It is not the responsibility of every project
to locate all the external libraries it needs via RPATH.
This is the difference between installed binaries and build-tree
binaries. When they are installed then the native system should be able
to find them by its own means. Most projects don't use RPATH at all.
-Brad
More information about the CMake
mailing list