On 11/17/2011 11:49 AM, Clinton Stimpson wrote:

I'm experimenting with using @rpath instead of @executable_path and
@loader_path, because @rpath is useful in some situations where the others
don't work as well.  For example, I want to avoid setting DYLD_LIBRARY_PATH
when using a relocatable SDK.  Using @rpath allows a user to embed a path in
their executable/library that gives the location of the SDK libraries that
they linked with.  Public SDK libraries would also know how to find private SDK
libraries with an rpath of @loader_path and dependencies starting with @rpath.

What needs to be considered if the following is added to
Platforms/Darwin.cmake?
   set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
   set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")

Is that all that is necessary to get the standard RPATH behavior on OS X?
Nice!

Would that have undesirable side effects?

Since the original RPATH support in CMake pre-dated the feature on OS X
we implemented INSTALL_NAME_DIR instead.  We need to investigate how the
two features would/should interact.

One possibility is adding -rpath link flags to those who currently don't
have/want it.

We may need a switch to choose between RPATH and INSTALL_NAME_DIR.  The
default of the switch can be chosen based on the minimum required version
of CMake.  Over time everyone will start using RPATH instead.

-Brad
--

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

Reply via email to