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

David Cole david.cole at kitware.com
Thu Jan 6 07:14:17 EST 2011


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