[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