[cmake-developers] fix-OSX-bundle-rpaths-and-Qt5 topic
Clinton Stimpson
clinton at elemtech.com
Tue Oct 21 10:25:10 EDT 2014
On Tuesday, October 21, 2014 08:22:24 AM Clinton Stimpson wrote:
> On Tuesday, October 21, 2014 03:59:19 PM Adam Strzelecki wrote:
> > > Regardless of where the bug lies, your changes took a packaging
> > > case that worked and made it not work. That is a regression.
> >
> > I am sorry, but 55707fd5 in fact does it CORRECT WAY as it is expressed
> > in:
> >
> > https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BP
> > Fr ameworks/Concepts/FrameworkAnatomy.html
> >
> > and expected by code-sign.
> >
> > Resources/ folder needs to lie in VERSION folder, so in out case
> > QtGui.framework/Versions/4/Resources/
> >
> > Previous CMake was checking and copying QtGui.framework/Resources/ which
> > is
> > WRONG as this is wrong place, and it may just be symlink to CORRECT place.
> > But such symlink is not obligatory in final bundle.
> >
> > It WAS working because Qt was looking in WRONG place for .nib file that
> > was
> > copied. Also before 10.9.5 it was code signing well because Apple put some
> > heuristics to allow lousy bundles. But these were removed in 10.9.5 for
> > code signed bundles.
> >
> > But assuming we restore Resources/ optional symlink we can circumvent
> > that.
> > And I am working on the patch, just give me few minutes.
>
> +1 for a symlink. Handling of framework resources in BundleUtilities.cmake
> was originally based on the buggy Qt behavior. I think Adam's suggested fix
> here is good.
>
>
And for the Qt internal error:
" Qt internal error: qt_menu.nib could not be loaded. The .nib file should be
placed in QtGui.framework/Versions/Current/Resources/ or in the resources
directory of your application bundle."
The message is incorrect. Qt is actually looking for the resource in
QtGui.framework/Resources/
Clint
More information about the cmake-developers
mailing list