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

KC Jones kc.jones at skype.net
Thu Jan 6 10:01:31 EST 2011


I'm running 2.8.2 - so I will upgrade now.  Thanks.

KC Jones
kc.jones at skype.net
SkypeId: bernalkc

On Jan 6, 2011, at 4:14 AM, David Cole wrote:

> The fix for http://public.kitware.com/Bug/view.php?id=10020 (which is
> in CMake 2.8.3) should make sure that "Resources" get copied with
> frameworks that get pulled in during a fixup_bundle call.
> 
> Are you using CMake 2.8.3?
> 
> 
> On Wed, Jan 5, 2011 at 10:20 PM, Michael Jackson
> <mike.jackson at bluequartz.net> wrote:
>> 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
>> 
>> _______________________________________________
>> 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