I agree with David on this. At the end of the build there _should_ be
a .app application (assuming that is what you chose to make) that I
can double click and launch/debug. The .app bundle does _not_ have to
include all the dependencies at that point but should be debuggable/
runnable. Xcode works this way so I expect CMake to generate Makefiles/
Xcode projects that do this.
Now, actually getting that .app ready for deployment is another
matter all together, usually consisting of at least a few more steps
which CPack should do for us:
Gather non-system dependent libraries, copy them into the .app
bundle, change the "install_name" of the library and executable if
needed.
Copy other resources into the .app bundle
Copy Documentation and other supporting files
Copy "helper" apps if any
... There are lots more.. ....
Now Decide if you are going to use a Drag-and-Drop DMG or and actual
installer.
Prepare either one.
It would be nice if all that were encapsulated in CMake/CPack with
clear delineations about which one does what. (I Know most of this is
in there but even I can't seem to get through it and end up just using
a Shell script to prepare everything).
Just my 2 cents worth
-----
Mike Jackson
On Jan 16, 2009, at 5:13 PM, David Cole wrote:
I have always been of the opinion that if you are building a Mac
bundle application, it should be complete as a bundle at the end of
the build. At the end of "make". Even before "make install".
Now that may just be my ancient Mac-fanboy-forever bias showing
through, but if you're building a bundle application, then I should
be able to go to the build directory in the Finder and double click
the icon after the build is done. If I can't do that, it ain't a
real Mac bundle app. Period.
So I think it is completely valid to expect that a Mac app be
bundled at build time.
Just my personal opinion, though.
:-)
David
On Fri, Jan 16, 2009 at 5:08 PM, Clinton Stimpson <[email protected]
> wrote:
Timothy M. Shead wrote:
David Cole wrote:
I vote for a new generator then. A Drag-N-Drop DMG generator ==
DDD? :-)
I prefer this to changing the bundle generator behavior.
Maybe just good documentation about the existing generators and what
sorts of assumptions they make would be a good place to start. I
think the main problem here is that people expect the "bundle
generator" to deal with bundles properly, when in fact, what it does
is create a bundle for you at packaging time. It's a name
overloading / human understanding problem... not a problem with the
code.
I would nuance this to suggest that the current MACOSX_BUNDLE
behavior blurs the line between building and packaging, which causes
much of the confusion. Arguably, a dmg+bundle IS-A package - so
creating a bundle in the build directory is the wrong division of
labor. If there was NSIS-specific stuff that got created in the
build directory every time you specified WIN32_EXECUTABLE, we'd be
having the same sort of confusion on Win32.
How do you see a "make install" fitting in? I think you need the
application bundle by that time.
Clint
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake