On 17. Apr, 2010, at 12:59 , David Cole wrote: > On Sat, Apr 17, 2010 at 1:02 AM, Clinton Stimpson <clin...@elemtech.com>wrote: > >> >> On Apr 16, 2010, at 9: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. >> >> >> I'm looking at the simple example of a framework given here (Listing 1): >> < >> http://devworld.apple.com/mac/library/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html >>> >> What if we just add the Resources directory if it exist for the version of >> the framework being used? In other words, if Resources exists, assume its >> needed to make the framework functional. I've attached a patch that does >> this. >> >> This would fix the Qt/Cocoa problem. >> >> Then what if it was a further extension to optionally include more parts of >> the framework or the entire framework, like you are suggesting? >> >> Clint >> >> >> > Excellent idea. I will work with this patch next week some time and see if I > can't get it applied. > > Thx, > David
Yeah, that sounds like a pretty reasonable approach/assumption which should cover a large number of cases. BTW, does anyone know of a complete framework reference? The one given above is introductory at best, and I can't seem to find anything authoritative e.g. mentioning PrivateHeaders... Michael _______________________________________________ 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