#!/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.rst $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