Jc,
I see some good things in this topic.
A few questions I have:
GP_RPATH_DIR is set to ${bundle}/Contents. What about other platforms such as
Linux? And what about Windows where the executable directory could be
considered an rpath directory along with a few other directories that the
Windows loader looks at.
And what if there are multiple rpath directories? I had a case where a plugin
had 2 rpath directories for dependencies, as some dependencies could be local,
and some in a common directory.
Even on Windows, the executable could be in the common directory, and the
plugin and some of its dependencies in another. The loader on Windows has
builtin paths for finding dependencies that include the executable directory
and the plugin directory. The same layout can be done on Mac and Linux with
rpaths.
So, I don't see how the topic fully captures rpath behavior, or is it meant to
be specific to simpler use cases? However, I will admit that BundleUtilities
was already specific to simpler use cases when it was just @executable_path and
@loader_path.
Perhaps related, is a topic of mine in stage/rpath-on-mac. It gives rpath
support in the build/install tree much like one gets on other Unix platforms.
With that, you can compile code on Mac such that it already has @rpath and
there is less or zero fixup necessary at install time. The hope is that CMake
will adopt this as the default behavior on Mac. The only potential fixup
necessary is external libraries that are not system libraries, but only if
they don't use @rpath.
For my 3rd party libraries, I could decide to run install_name_tool to change
them to use @rpath before compiling my code.
Or a script could do the same at install time. For one app, I had written
some basic scripts to use instead of BundleUtilties. This freed me from the
complexity required to also support @executable_path and @loader_path, but it
wasn't matured enough to validate the completeness of the package/bundle.
Have you seen this thread?
http://public.kitware.com/pipermail/cmake-developers/2011-November/002572.html
So, a question I have for you is how do you think stage/rpath-on-mac could
affect your topic?
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
clin...@elemtech.comwrote:
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
--
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