[cmake-developers] fix-OSX-bundle-rpaths-and-Qt5 topic
clinton at elemtech.com
clinton at elemtech.com
Thu Oct 9 09:43:08 EDT 2014
----- Original Message -----
> On 10/08/2014 11:05 AM, clinton at elemtech.com wrote:
> > I pushed more fixes for this. Instead of requiring 10.6,
> > I took the other path of warning when rpaths need changed
> > at install time and skip it.
> > This should also fix the CMP0042 test which started failing.
>
> Thanks. The message is currently:
>
> > + msg << "WARNING: Target \"" << this->Target->GetName()
> > + << "\" has runtime paths which cannot be changed during install.
> > "
> > + << "To change runtime paths, OS X version 10.6 or newer is
> > required. "
> > + << "Therefore, runtime paths will not be changed when
> > installing.";
> > + cmSystemTools::Message(msg.str().c_str(), "Warning");
>
> Can that be changed to an IssueMessage, possibly on a cmMakefile
> for at least a little context? Also it should suggest using
> CMAKE_BUILD_WITH_INSTALL_RPATH.
>
> > By the way, Brad, your change to require 10.6 for the
> > BundleUtilities test is no longer required on the rpath-osx-10_6 topic.
> >
>
> I thought it was a missing piece of your original change.
> Since you've reverted that I've now reverted mine so we'll
> see how testing goes.
>
> > However, it may still be required for the fix-OSX-bundle-rpaths-and-Qt5
> > topic.
>
> I rebased rpath-osx-10_6 on fix-OSX-bundle-rpaths-and-Qt5 to
> make local testing of both together easier. Please base the
> above-requested fixes on:
>
> OSX: Warn when attempting to change runtime paths on OS X 10.5
> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a6e58f55
>
Adam,
I was looking at the BundleUtilities failure after the above fixes, and I noticed it unconditionally removes rpaths.
Is there a reason for that?
If the user does
set_target_properties(testbundleutils1 module1 PROPERTIES
INSTALL_RPATH "${CMAKE_CURRENT_BINARY_DIR}/testdir1"
BUILD_WITH_INSTALL_RPATH 1)
The new BundleUtilities.cmake will strip that rpath.
The attempt to strip those rpaths fails on OS X 10.5, because install_name_tool does not recognize the -delete_rpath.
The test fails because the -id and -change portion of the install_name_tool command is prevented by the error from the use of -delete_rpath.
Perhaps we can separate the -delete_rpath part into its own call to install_name_tool. If it fails, the failure can be ignored (as it previously ignored install_name_tool failures). Or maybe there is another idea.
Clint
More information about the cmake-developers
mailing list