While I agree with everything said I think a Qt Specific function for
"deploying Apps", whether those are on Windows, OS X or linux, should
be created. The script would be at a higher level than BundleUtilites
as I would envision DeployQt4App.cmake calling BundleUtilities,
checking the type of Qt being used (Relevant on OS X), copying the
plugins (if wanted by the user) and stuff like that. Thoughts?
--
Mike J.
On Apr 16, 2010, at 11:13 AM, David Cole wrote:
On Fri, Apr 16, 2010 at 11:03 AM, Michael Wild <them...@gmail.com>
wrote:
The way BundleUtilities (that is, GetPrerequisites is actually doing
the work here) is designed so far is to check for run-time
dependencies using otool and similar utilities. However, CMake can't
possibly detect that qt_menu.nib is required since this file is
loaded dynamically at run-time, so someone has to put that
information into GetPrerequisites. Since qt_menu.nib is a rather
recent addition to Qt, and most people use their own scripts to
accomplish this, it hasn't happened so far. Also, there's the issue
of whether one actually wants to hard-code such specific information
into a general tool like GetPrerequisites... The danger of creating
a huge number of unmaintainable special cases is quite big there...
Perhaps one could devise a way for FindXXX/XXConfig modules to
communicate such requirements to GetPrerequisites using properties.
This approach would be much more modular and wouldn't require
GetPrerequisites to be updated every time a module changes.
As the primary author of GetPrerequisites and BundleUtilities, I'm
gonna chime in here, even though I don't have time in the near term
future to do much useful work on the topic...
I think that the missing *.nib files should be accounted for by
adding the capability to BundleUtilities to copy *all* of the files
in a copied framework. Right now, it copies *only* the actual binary
dylib files to minimize the size of the resulting bundle. Clearly
that does not work for libraries that depend on embedded resources
that are in other parts of the framework. I would like, moving
forward, to add the ability to say "copy everything" or "copy this
list of extra stuff" for any given framework that gets pulled in
because it is a prereq.
Hopefully, my expression of this intent will guide anybody else
interested in contributing a patch before I do have the time to get
to it myself. :-)
If there is anybody out there who can spend the time on this right
now, I'd be happy to act as a reviewer or collaborator. Just ping me.
Thx,
David Cole
_______________________________________________
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