[CMake] CMake 2.8.1 + Qt/Cocoa + OS X Problem -- qt_menu.nib not getting copied

David Cole david.cole at kitware.com
Fri Apr 16 11:13:11 EDT 2010


On Fri, Apr 16, 2010 at 11:03 AM, Michael Wild <themiwi at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100416/f3824e62/attachment.htm>


More information about the CMake mailing list