[CMake] CPack, fixup_bundle, macdeployqt, and QTBUG-5952

Michael Jackson mike.jackson at bluequartz.net
Wed Jan 5 22:20:17 EST 2011


The qt_menu.nib package can be located in either the QtGui.framework that gets copied into your application bundle or in MyApp.app/Contents/Resources/qt_menu.nib. Either of those locations should allow your application to work. Do you need to also add a qt.conf file into the Contents/Resources directory? I can not remember exactly when you need to put it in.

___________________________________________________________
Mike Jackson                      www.bluequartz.net
Principal Software Engineer       mike.jackson at bluequartz.net 
BlueQuartz Software               Dayton, Ohio   



On Jan 5, 2011, at 9:28 PM, KC Jones wrote:

> Me again, with another issue:
> 
> On Mac, I'm running into the problem described in  QTBUG-5952: http://bugreports.qt.nokia.com/browse/QTBUG-5952 where my CPack generated D&D installer yields an installed app fails with a log message like "Qt internal error: qt_menu.nib could not be loaded."  This was also mentioned on this list in http://www.cmake.org/pipermail/cmake/2010-April/036438.html
> 
> The resolution in that thread was to copy qt_menu.nib into my bundle's resource directory.  Like the original developer on that prior thread, this feels wrong.  (And I can't yet make it work.)
> 
> I have noticed that if I manually run Qt's macdeployqt script on the app bundle built by my cmake target, there is no problem.  It does not copy the qt_menu.nib directory into ./Content/Resources - macdeployqt ends with the menu resources copied into ./Frameworks/QtGui.framework/Resources/qt_menu.nib
> 
> In other words, Qt's script which is sort of an equivalent to fixup_bundle in the sense that it rebases all the dynamic libraries, does something to resolve the references to the qt_menu.nib resources that fixup_bundle does not.  I have not reverse engineered the script to see what that is, but it generates a working bundle were fixup_bundle falls a bit short.
> 
> So I'm not sure what to do at this point.  Should I continue trying to copy qt_menu.nib into the bundle manually?  Should I attempt to run the macdeployqt script on the bundle instead of calling fixup_bundle??
> 
> This does seem like a bug in Qt4.7 - but it has also remained unfixed in Qt4.7.1, and macdeployqt does something magical, so holding my breath and waiting for a fix is not an option.  Ideas and suggestions welcome.
> 
> 
> KC Jones
> kc.jones at skype.net
> SkypeId: bernalkc
> 
> _______________________________________________
> 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



More information about the CMake mailing list