[CMake] Minimal Info.plist

Clinton Stimpson clinton at elemtech.com
Tue Apr 20 15:53:49 EDT 2010


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).
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.

Clint


More information about the CMake mailing list