On Tue, Apr 20, 2010 at 3:53 PM, Clinton Stimpson <clin...@elemtech.com>wrote:
> On Tuesday 20 April 2010 12:59:42 pm Timothy Shead wrote: > > On 4/20/10 12:53 PM, Clinton Stimpson wrote: > > > On Tuesday 20 April 2010 11:44:27 am Timothy Shead wrote: > > >> On 4/20/10 10:11 AM, Ben Medina wrote: > > >>> What's throwing me off is the wiki says this about the Bundle > > >>> generator: "Rationale: de-facto standard mechanism for distributing > > >>> bundles." Unless that's only specifically referencing the previous > > >>> sentence about distributing a compressed disk image. > > >> > > >> Which it is ... not sure what the confusion is? > > >> > > >>> Is there any documentation about why one would choose the Bundle > > >>> generator over DragNDrop? > > >> > > >> Sometimes you need more control over the contents of a bundle than > > >> DragNDrop provides. > > >> For example, you might have a single bundle > > >> containing a "main", graphical UI application plus secondary helper > > >> applications that run in the background. BundleGenerator gives you > > >> flexibility to create such a bundle, whereas DragNDrop would create a > > >> dmg with several bundles, one-per-app. Of course, the cost is greater > > >> complexity. > > >> > > >> Cheers, > > >> Tim > > > > > > My experience is the other way around. DragNDrop gives me more > control, > > > because Bundle is a specialization of DragNDrop with some additional > > > automatics built in. Its fine, if you want those automatics. I've > done > > > your example with DragNDrop, and no, it doesn't make several bundles, > > > unless the CMakeLists.txt file says so. > > > All DragNDrop does is take the results of a "make install" and put it > in > > > a dmg. The Bundle generator modifies the results of "make install" and > > > puts it in a dmg. Its that modification that gets in my way sometimes. > > > > > > Also, one of my first tests of DragNDrop was making a working dmg of > > > CMake without any modifications which was originally coded for > > > PackageMaker (and other generators on other platforms). > > > > Can you give me an example using DragNDrop to combine two CMake-built > > executables into a single bundle? My impression (perhaps dated) is that > > I'd have to do some magic around making one of them a "source" file of > > the other, so I could use MACOSX_PACKAGE_LOCATION to embed it in the > > final bundle. > > CMake does that (cmake and ccmake commandline apps get put into the > cmake-gui > bundle). > Yes, but cmake-gui is a "real" Mac bundle app. We just add the cmake, cpack and ctest executables into an already functioning bundle as "extra stuff".... Using the Bundle cpack generator to install an app that is already a bundle would be a mistake. > To test, just set CMAKE_INSTALL_PREFIX=/ and run "cpack -G DragNDrop" on > it. > Did you need a different example than that? > > It does a set(CMAKE_INSTALL_PREFIX=/CMake.app/Contents) trick to put > everything in the bundle. > Another way, which I normally do, is to pass around a variable for the > destination on install() commands. > We should probably re-work the way CMake does it so that it is more accessible to a wide audience as a good example of how to install a bundle app on the Mac. And so that we could even use the BundleUtilities on cmake itself and get rid of the customized one that BundleUtilities can trace its ancestry to.... :-) David
_______________________________________________ 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