tigervnc/release/makemacapp.in
DRC e72b80501c Consolidate all README files into one and distribute it with the binary packages.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4562 3789f03b-4d11-0410-bbf8-ca57d06f2519
2011-06-28 03:02:38 +00:00

76 lines
1.5 KiB
Bash

#!/bin/sh
set -u
set -e
trap onexit INT
trap onexit TERM
trap onexit EXIT
TMPDIR=
onexit()
{
if [ ! "$TMPDIR" = "" ]; then
rm -rf $TMPDIR
fi
}
usage()
{
echo "$0 [universal]"
exit 1
}
UNIVERSAL=0
PACKAGE_NAME=TigerVNC
VERSION=@VERSION@
BUILD=@BUILD@
SRCDIR=@CMAKE_SOURCE_DIR@
BUILDDIR32=@OSX_X86_BUILD@
if [ $# -gt 0 ]; then
if [ "$1" = "universal" ]; then
UNIVERSAL=1
fi
fi
if [ -f $PACKAGE_NAME.dmg ]; then
rm -f $PACKAGE_NAME.dmg
fi
umask 022
TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
APPROOT="$TMPDIR/dmg/TigerVNC Viewer $VERSION.app"
mkdir -p "$APPROOT/Contents/MacOS"
mkdir -p "$APPROOT/Contents/Resources"
install -m 755 vncviewer/vncviewer "$APPROOT/Contents/MacOS/TigerVNC Viewer"
if [ $UNIVERSAL = 1 ]; then
if [ ! -d $BUILDDIR32 ]; then
echo ERROR: 32-bit build directory $BUILDDIR32 does not exist
exit 1
fi
if [ ! -f $BUILDDIR32/Makefile ]; then
echo ERROR: 32-bit build directory $BUILDDIR32 is not configured
exit 1
fi
pushd $BUILDDIR32
make
popd
lipo -create -arch i386 $BUILDDIR32/vncviewer/vncviewer -arch x86_64 \
"$APPROOT/Contents/MacOS/TigerVNC Viewer" \
-output "$APPROOT/Contents/MacOS/TigerVNC Viewer"
fi
install -m 644 $SRCDIR/release/tigervnc.icns "$APPROOT/Contents/Resources/"
install -m 644 release/Info.plist "$APPROOT/Contents/"
install -m 644 $SRCDIR/LICENCE.TXT $TMPDIR/dmg/
install -m 644 $SRCDIR/README.txt $TMPDIR/dmg/
hdiutil create -fs HFS+ -volname $PACKAGE_NAME-$VERSION \
-srcfolder "$TMPDIR/dmg" \
$TMPDIR/$PACKAGE_NAME-$VERSION.dmg
cp $TMPDIR/$PACKAGE_NAME-$VERSION.dmg .
exit