[CMake] command line build and install on OSX

Darren Weber darren.weber.lists at gmail.com
Tue Aug 19 16:05:27 EDT 2008


This script is working for me on OSX.  It over-writes the macports
installation (using prefix=/opt/local).  Note that it does two builds, one
with and another without the Qt gui.

#!/bin/bash
if [ -d ~/src/kitware/CMake ]; then
mkdir -p ~/src/kitware/CMake_build
cd ~/src/kitware/CMake_build

# make the Qt GUI
../CMake/bootstrap --qt-gui --prefix=/
make
sudo make DESTDIR=tmp install
sudo rm -rf /Applications/CMake*
sudo cp -rf tmp/CMake*.app /Applications/

# make the command line tools
sudo rm -rf *
../CMake/bootstrap --prefix=/opt/local
make
sudo make install
else
echo "No directory ~/src/kitware/CMake"
echo "Get the source from cvs"
fi




On Tue, Aug 19, 2008 at 11:04 AM, Mike Jackson <mike.jackson at imts.us> wrote:

> Here is my recommendation:
> Rebuild CMake with a CMAKE_INSTALL_PREFIX of /Applications/CMake (with the
> Qt option)
>
> sudo make install
>
> remove the cmake stuff from /usr/local/*
>
> After cmake builds and installs you will need to ensure that you have write
> permissions to /opt/local/bin.
> Launch CMake-Gui.app and use the GUI menu to create the sym links for you.
>
> The main problem is that typically /usr/local needs higher privs than admin
> on OS X (depending on how it was setup). The CMake-GUI app does NOT take
> advantage of the authentication framework in OS X to authenticate you as an
> admin so trying to create the symlinks where the active user does NOT have
> write permissions will fail **.
>
> The way I have done this is to "install" cmake into /Applications/CMake.
> Make /Applications/CMake writable by everyone, then have CMake-GUI create
> the symlinks in /Applications/CMake. Then add /Applications/CMake to your
> PATH variable AHEAD of /opt/local/bin.
>
> Just my 2 cents.
>
> ** I guess I should look at how to implement that and submit a patch***
>
> *** Not that I am volunteering to write the code.. ;-)  (yet)
> --
> Mike Jackson   Senior Research Engineer
> Innovative Management & Technology Services
>
>
> On Aug 19, 2008, at 1:53 PM, Darren Weber wrote:
>
>
> I've got a cvs checkout of CMake-2-6-1.
>
> I created a build directory and configured first for a Qt GUI.  The build
> completed and installed into /usr/local/CMake 2.6-1.app/.  Then, to ensure
> this version is in the default Applications directory:
> sudo cp -rf /usr/local/CMake* /Applications/
>
> I then tried to use the GUI interface to create symlinks for the command
> line (Tools > Install for Command Line Use), but it failed.
>
> I then reconfigured the build for a curses interface, built, and installed
> that.  It installed:
>
> -- Installing: /usr/local/bin/ccmake
> -- Installing: /usr/local/bin/cmake
> -- Installing: /usr/local/bin/cmakexbuild
> -- Installing: /usr/local/bin/cpack
> -- Installing: /usr/local/bin/ctest
>
> That's fine, but on this OSX system, cmake was first installed by macports
> into /opt/local/bin/ and this is the first entry on the $PATH.  So I could
> re-route the path or overwrite the macports install with symlinks to this
> build (I prefer the latter).
>
> Is there a command line utility or a make instruction to create all the
> symlinks?  Does it have an option to specify the root bin directory?
>  Something like:
>
> make symlinks /usr/bin
>
> or
>
> make symlinks /opt/local/bin
>
> Thanks, Darren
>
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
>
>
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20080819/06e8b205/attachment-0001.htm>


More information about the CMake mailing list