[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