[CMake] cmake 2.4.8 RC 9

E. Wing ewmailing at gmail.com
Fri Jan 4 10:03:06 EST 2008


Also missing the thread, I did want to chime in on a few things before
it is left.

First, Mike's pretty much nailed it on all points, though I think the
use of installers needs to be qualified a little (below).

As for where it is said not to install to /usr/bin, I don't know where
in the docs, but  Apple engineers every year at WWDC go up and say
this. It's probably in the WWDC session videos on installers.

Python has shipped with OS X for quite awhile as a standard component
so Apple itself puts it in /usr/bin.

I think DarwinPorts installs to /opt/local and Fink to /sw. This
follows with Mike's arguments with separation and isolation. These
will not be destroyed by Apple. Also, anybody using these will most
likely use the tools own packaging system rather than install CMake
through the installer, so these tools will ensure CMake is installed
to their own appropriate locations.

Finally, 'installers' are a controversial issue on Mac. Generally
speaking, the old-school Mac (classic) people, and the elite OS X
developers/users believe strongly that apps should be
drag-and-droppable and not require installers. Applications should not
have to live in any particular location on the filesystem and should
just work no matter where they are. The security people and the
anti-Windows people have also joined this bandwagon.

Apple itself has been fuzzy and has waffled on the guidelines. For
awhile, they were pushing drag-and-drop, but they would be
hypocritical and use installers. However, the Mac elite will point out
that Apple is the worst violator of their own Human/User Interface
Guidelines so the funny thing is that Apple is not necessarily the
authoritative voice on these issues. The Mac community is a little
funny and many things seem to be dictated by its elite users and
developers.

Anyway, as far as CMake is concerned, because it deals with command
line tools and a lot of stuff being installed in separate places, by
Apple guidelines, an installer is an acceptable method of distributing
CMake (presuming you don't install it to system areas). However, if
you do distribute a GUI again, it would also be reasonable to consider
a drag-and-droppable system where all CMake components are
self-contained within the bundle. This would make the elite and
security people happier. Mike has identified TextMate already. I think
Doxygen and MacVim are also a little bit like this in that they avoid
the installer and provide a self-contained drag-and-droppable bundle,
though they not nearly as advanced as TextMate. (Both presume you know
enough to add symlinks or shell-scripts or change your path to access
tools in their bundles.)

Thanks,
Eric


More information about the CMake mailing list