[cmake-developers] [CMake] BundleUtilities and @rpath

Clinton Stimpson clinton at elemtech.com
Thu Nov 14 11:19:52 EST 2013


Jc,

I thought I'd share a script I've made as a replacement for BundleUtilities.

It is designed ground up with rpaths in mind, whereas BundleUtilities was 
designed with @executable_path as the basis.  This also fits with Windows where 
there are no rpaths, but there is a limited set of implicit loader paths 
relative to binaries.  The caller can also pass in additional paths if 
additional paths will exist at runtime via LD_LIBRARY_PATH, PATH, rpaths 
across dlopen(), etc... that the binaries themselves are not aware of.
It also supports any layout you want instead of only a Bundle layout, or a 
layout where shared libraries exist next to the main executable.  For example, 
on Mac/Linux there is the typical bin/ and lib/ separation.

Of course, this needs polishing before it can be considered for addition to 
CMake.

Clint

On Thursday, May 16, 2013 07:57:01 PM Jean-Christophe Fillion-Robin wrote:
> Hi Clinton,
> 
> This is to create bundle that use @rpath. Particularly useful when you want
> to support plugin.
> 
> Let me know what you think, I just updated my the toy project.
> Other list of changes have been pushed into CMake stage:
> http://cmake.org/gitweb?p=stage/cmake.git;a=shortlog;h=refs/heads/tweak-bund
> leutilities-for-rpath
> 
> Thanks
> Jc
> 
> On Thu, May 2, 2013 at 11:51 AM, Clinton Stimpson 
<clinton at elemtech.com>wrote:
> > On Wednesday, April 24, 2013 06:45:11 PM Jean-Christophe Fillion-Robin
> > 
> > wrote:
> > > Hi Folks,
> > > 
> > > I have been working on improving BundleUtilities and GetPrerequisites
> > > module so that it can be used to easily fixup a MacOSX bundle using
> > 
> > @rpath.
> > 
> > > The set of changes I would like to propose is here:
> > https://github.com/jcfr/CMakeBundleUtilitiesExample/compare/f7a594ffba72b8
> > cb> 
> > > 83df9a166d7887bedc49f38b...75fa538
> > > 
> > > To try out the change, you could build the small project I created for
> > 
> > that
> > 
> > > purpose: https://github.com/jcfr/CMakeBundleUtilitiesExample#readme
> > > 
> > > Let me know what you think.
> > > 
> > > Thanks
> > > Jc
> > 
> > Is it to help make the same @executable_path based bundles but support
> > copying
> > in libraries and frameworks that used @rpath and change them over to be
> > @executable_path based?
> > 
> > Or is this to help create bundles that result in the use of @rpath?
> > 
> > --
> > Clinton Stimpson
> > Elemental Technologies, Inc
> > Computational Simulation Software, LLC
> > www.csimsoft.com
> > --
> > 
> > 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://www.cmake.org/mailman/listinfo/cmake

-- 
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: verify-app.cmake
Type: text/x-cmake
Size: 11445 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20131114/08b3de18/attachment-0002.bin>


More information about the cmake-developers mailing list