[CMake] install name for fortran dylibs on mac

clinton at elemtech.com clinton at elemtech.com
Sun May 4 00:29:17 EDT 2014


When using @rpath, the proper way to the executable to find it at runtime is for the executable to have an rpath with a directory that contains the dylib. 

When compiling the executable, the linker flag "-rpath /path/to/dylib" should be given. This should be automatic with CMake when building the executable, and if it isn't doing that for you, please give us an example. 
To verify, the executable has the rpath, you can run "otool -l <executable> | grep LC_RPATH -A2" 

Clint 

----- Original Message -----

> So I noticed the CMAKE_MACOSX_RPATH variable, and tried setting it, which
> does result in the install name of the dylib being set to
> @rpath/dylibname.so BUT when I link it in an executable tool -L just shows
> the dylib as @rpath/dylibname.so and the linker fails to find it at run
> time. What is the proper way to get CMake to build the executable linking
> against the dylib and be able to run it in the build tree and install tree?

> Izaak Beekman
> ===================================
> (301)244-9367
> UMD-CP Visiting Graduate Student
> Aerospace Engineering
> ibeekman at umiacs.umd.edu
> ibeekman at umd.edu

> On Sat, May 3, 2014 at 10:54 AM, Dan Kegel < dank at kegel.com > wrote:

> > On Sat, May 3, 2014 at 7:17 AM, < clinton at elemtech.com > wrote:
> 
> > > Use at least CMake 2.8.12 and in your library project add this:
> 
> > > set(CMAKE_MACOSX_RPATH 1)
> 
> > > ...
> 
> > > For more details:
> 
> > > http://www.kitware.com/blog/home/post/510
> 

> > What he said. See also past discussion at
> 
> > http://web.archiveorange.com/archive/v/5y7PkspCBZwiWhvodZSP
> 
> > I put together some tiny demos showing various ways to do it, with
> 
> > walkthroughs, at
> 
> > http://kegel.com/macosx/rpath/
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140503/765b5989/attachment.html>


More information about the CMake mailing list