Just off the top of my head a "copy_framework" function with some optional parameters to prune the Headers directory or other directories might be nice. For bonus points, prune older versions of the library that are in the framework, ie those NOT pointed to by "Versions->Current".

Wish I had time to help but I now swamped. I hacked some patches into my code to get me through until a better solution is found.

_________________________________________________________
Mike Jackson                  mike.jack...@bluequartz.net
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio



On Mar 30, 2009, at 10:57 AM, David Cole wrote:

Looking at BundleUtilities.cmake, I would say the best thing to do here would be to add some logic to the copy_resolved_item_into_bundle function that deals with copying an entire framework as a directory copy rather than just copying the library file itself.

I will think about what's the best way to handle that. The simplest thing would just be a global flag that copies all frameworks as directories (or just as files)... A better method would be to allow that setting on a per-framework basis so that the bundle size can be kept to a minimum while allowing the copying of resources for those frameworks that need it.

Any concrete code change suggestions from anyone? (A patch, for example... :-)


David


On Sat, Mar 28, 2009 at 12:07 AM, Mike Jackson <mike.jack...@bluequartz.net > wrote:
I got a new Xeon Mac Pro so I thought I might start compiling some of
my own Qt based applications against a 64 bit build of Qt 4.5.
Generally things work Except when I use the BundleUtilities.cmake to
bundle the application.
 Seems somewhere during the copy of the framework (I have my guesses)
that _only_ the library within the framework and NOT the entire
framework is being copied. This makes sense on one hand as usually a
deployed Application doesn't need things like headers and such. Except
now with Qt 4.5 being cocoa based (for 64 bit builds) there is not a
.nib file that needs to be loaded. The .nib package is located in the
QtGui.framework/Resources directory but as I stated is NOT being
copied.
  According the error message that I got the .nib can be located in
the QtGui.framework/versions/current/Resources OR inside the Resources
directory of your own application (Next to your icon file.. ). So
there are a few ways to solve this problem but the easiest would be to
just adjust the BundleUtilities to copy the entire .framework package
instead of just parts of it. This would probably result in extra stuff
being put into the app bundle that isn't need but it is better to have
extra than not enough.
   The other way I can work around this would be to work out the path
to the .nib file within the QtGui.framework package and copy it over
to the OS X application bundle myself. I would rather not have to do
this but if there are major objections to above then I'll have to go
down this route.

 Comments from anyone?

Mike Jackson
_______________________________________________
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

Reply via email to