[CMake] Qt assistant in OsX application bundle
Michael Wild
themiwi at gmail.com
Mon Mar 1 09:14:14 EST 2010
But only the stable release, the CVS version doesn't anymore.
Michael
On 1. Mar, 2010, at 15:05 , Michael Jackson wrote:
> I would take a look at the ParaView project as ParaView uses QtAssistant for help.
> _________________________________________________________
> Mike Jackson mike.jackson at bluequartz.net
> BlueQuartz Software www.bluequartz.net
> Principal Software Engineer Dayton, Ohio
>
> On Mar 1, 2010, at 7:52 AM, Martin Guillon wrote:
>
>> Hi,
>>
>> After successfully creating my application bundle with qt frameworks(thanks to all of you) I am now trying to integrate the qt assistant in my application bundle.
>> I first tried to put the whole Assistant.app in a folder of my app bundle. But then fixing the bundle wouldn't work with the assistant because of the double level of bundle app.
>> Then I thought that should just put the Assistant executable in the MacOS folder of my bundle. Then the fixing worked but launching the Assistant wouldn't work. It would just crash with a bus error during start.
>>
>> So did anyone successfully integrated the qt assistant in its app bundle?
>>
>> Thanks a lot
>>
>> Martin
>>
>> -----Original Message-----
>> From: Michael Wild [mailto:themiwi at gmail.com]
>> Sent: Thursday, February 25, 2010 9:36 AM
>> To: Martin Guillon
>> Cc: Werner Smekal; cmake at cmake.org
>> Subject: Re: [CMake] OsX bundle including Qt framework
>>
>> I think this is because Qt by default loads some optional plugins and finds them in your Qt installation because they do not get copied into your application bundle automatically. Since the prefixes do not match, Qt is complaining... You can confirm this by setting the environment variables DYLD_PRINT_LIBRARIES or DYLD_PRINT_LIBRARIES_POST_LAUNCH to a non-empty string and then starting your application from the command line (i.e. /<path-to>/<application>.app/Contents/MacOS/<executable>, where you have to replace the parts in <>). Then watch for the library names that get loaded. Nothing should come from your Qt installation.
>>
>> If this is the source for the error, try including an empty qt.conf file in your bundle (or as a resource) as described here: http://doc.trolltech.com/4.6/qt-conf.html
>>
>> HTH
>>
>> Michael
>>
>>
>> On 25. Feb, 2010, at 9:11 , Martin Guillon wrote:
>>
>>> A little feedback on what s happening. After using the fixbundle script, my app works great on a machine without QT installed. I loads the frameworks I put in the bundle perfectly.
>>> But now I have a problem in my dev environment. After fixing the bundle, if I start my app, I get qt errors saying it finds multiple versions of qt, and then some of my executables wont start.
>>> That s not that bad in my dev environment but what if the user already have a qt somewhere?
>>>
>>> Is there a way to make so that my app only see the qt frameworks in the bundle?
>>>
>>> Thanks
>>>
>>> MArtin
>>>
>>> -----Original Message-----
>>> From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On
>>> Behalf Of Martin Guillon
>>> Sent: Wednesday, February 24, 2010 4:05 PM
>>> To: Werner Smekal; cmake at cmake.org
>>> Subject: Re: [CMake] OsX bundle including Qt framework
>>>
>>> Thanks a lot, it now works perfectly!!!!
>>>
>>> MArtin
>>>
>>> -----Original Message-----
>>> From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On
>>> Behalf Of Werner Smekal
>>> Sent: Wednesday, February 24, 2010 3:34 PM
>>> To: cmake at cmake.org
>>> Subject: Re: [CMake] OsX bundle including Qt framework
>>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> Hi Martin,
>>>
>>>>
>>>> I use cmake to make an osx bundle of my qt application. During
>>>> install I copy qt framework from my qt install dir to the Frameworks
>>>> directory of my bundle.
>>>
>>> This will be done automagically using the BundleUtilities module. E.g.
>>> in my project I do:
>>>
>>> # fixup bundle, copy dynamic libraries into app bundle
>>> set(APPS "\${CMAKE_INSTALL_PREFIX}/${SESSA_BUNDLE_NAME}.app") # paths to executables
>>> set(DIRS "${CMAKE_SOURCE_DIR}/local/Release/lib") # directories to
>>> search for prerequisites
>>> INSTALL(CODE "
>>> include(BundleUtilities)
>>> fixup_bundle(\"${APPS}\" \"\" \"${DIRS}\")
>>> ")
>>>
>>> Look in the mailing list or in the net about BundleUtilities to get more information, or look in the module.
>>>
>>>>
>>>> The problem I have now is that when using "ostool -L " I see that my
>>>> executable look for qt frameworks in a dir which is the absolute path
>>>> to my qt install dir.
>>>
>>> Reason is, that if you link to a library, the reference inside the
>>> *library* (use otool -L on that library) is used and set in the
>>> executable as well. You need at least to set the new reference
>>> (@executable_path/....) in the executable, so that it can find the libraries (if libraries depend on other libraries you need to change that as well). Use install_name_tool for that.
>>>
>>> But everything is done by the BundleUtilities macro, so you don't need to mess around here.
>>>
>>> HTH,
>>> Werner
>>>
>>>>
>>>> What I want is for my executable to look in the "Frameworks"
>>>> directory of my bundle.
>>>>
>>>>
>>>>
>>>> Is there a way to do that directly during build using Cmake?
>>>>
>>>>
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>> MArtin
>>>>
>>>>
>>>>
>>>> _______________________________________________ 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
>>>
>>>
>>> - --
>>> Dr. Werner Smekal
>>> Institut fuer Angewandte Physik
>>> Technische Universitaet Wien
>>> Wiedner Hauptstr 8-10/134
>>> A-1040 Wien
>>> Austria
>>> DVR-Nr: 0005886
>>>
>>> email: smekal at iap.tuwien.ac.at (GPG: EDCAF4A79)
>>> web: http://www.iap.tuwien.ac.at/~smekal
>>> phone: +43-(0)1-58801-13463 (office)
>>> +43-(0)1-58801-13469 (laboratory)
>>> fax: +43-(0)1-58801-13499
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1.4.10 (Darwin)
>>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>>>
>>> iQEcBAEBAgAGBQJLhTjHAAoJEG1QQcXtyvSnRK0H/3NwjN7DB7IH339Szs0iqTMf
>>> 3ONaiP0IIjdzer2Ak4Ao3+Yl+vVksyGCaeB/goYEy5mBbLxLNHIjY71+pS2zNk4L
>>> 62tAolQZCJfRzxv9mQVZsX92wHw5DC1mtPnyqWl1DuQu4lrp+WVQlfareC25keI/
>>> 1TBndC7A74uTz9IZJWOkUZRUgK9uHD8MRWBL4ujYJw0ocghHYjbeSxySrAGBC/oG
>>> DRp8l6N3UfFzTRVE+FZUnBdKcMkSTQXTdzK6oBtszKwJxkCKbcI94lAOgYqA49kU
>>> TWcxwQEbYXoXXFzI1Qo5evG2NgjDmicHluXnSuNNMTkVGoxnJbECZcoi3d5dlJU=
>>> =TUd7
>>> -----END PGP SIGNATURE-----
>>> _______________________________________________
>>> 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
>>> _______________________________________________
>>> 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
>
> _______________________________________________
> 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