r917 - in trunk: . code/unix/MacSupport

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Sep 25 23:12:54 EDT 2006


Author: tjw
Date: 2006-09-25 23:12:54 -0400 (Mon, 25 Sep 2006)
New Revision: 917

Added:
   trunk/code/unix/MacSupport/ioquake3.icns
Modified:
   trunk/make-macosx-ub.sh
Log:
* make-macosx-ub.sh script now creates an .app bundle


Added: trunk/code/unix/MacSupport/ioquake3.icns
===================================================================
(Binary files differ)


Property changes on: trunk/code/unix/MacSupport/ioquake3.icns
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/make-macosx-ub.sh
===================================================================
--- trunk/make-macosx-ub.sh	2006-09-24 02:33:08 UTC (rev 916)
+++ trunk/make-macosx-ub.sh	2006-09-26 03:12:54 UTC (rev 917)
@@ -1,8 +1,13 @@
 #!/bin/sh
-
+APPBUNDLE=ioquake3.app
+BINARY=ioquake3.ub
+PKGINFO=APPIOQ3
+ICNS=code/unix/MacSupport/ioquake3.icns
 DESTDIR=build/release-darwin-ub
 BASEDIR=baseq3
 MPACKDIR=missionpack
+Q3_VERSION=`grep "\#define Q3_VERSION" code/qcommon/q_shared.h | \
+	sed -e 's/.*".* \([^ ]*\)"/\1/'`;
 
 BIN_OBJ="
 	build/release-darwin-ppc/ioquake3.ppc
@@ -44,19 +49,57 @@
 
 (BUILD_MACOSX_UB=ppc make && BUILD_MACOSX_UB=i386 make) || exit 1;
 
-if [ ! -d $DESTDIR ]; then 
-	mkdir $DESTDIR || exit 1;
+echo "Creating .app bundle $DESTDIR/$APPBUNDLE"
+if [ ! -d $DESTDIR/$APPBUNDLE/Contents/MacOS/$BASEDIR ]; then
+	mkdir -p $DESTDIR/$APPBUNDLE/Contents/MacOS/$BASEDIR || exit 1;
 fi
-if [ ! -d $DESTDIR/$BASEDIR ]; then
-	mkdir $DESTDIR/$BASEDIR || exit 1;
+if [ ! -d $DESTDIR/$APPBUNDLE/Contents/MacOS/$MPACKDIR ]; then
+	mkdir -p $DESTDIR/$APPBUNDLE/Contents/MacOS/$MPACKDIR || exit 1;
 fi
-if [ ! -d $DESTDIR/$MPACKDIR ]; then
-	mkdir $DESTDIR/$MPACKDIR || exit 1;
+if [ ! -d $DESTDIR/$APPBUNDLE/Contents/Resources ]; then
+	mkdir -p $DESTDIR/$APPBUNDLE/Contents/Resources
 fi
+cp $ICNS $DESTDIR/$APPBUNDLE/Contents/Resources/ioquake3.icns || exit 1;
+echo $PKGINFO > $DESTDIR/$APPBUNDLE/Contents/PkgInfo
+echo "
+	<?xml version=\"1.0\" encoding="UTF-8"?>
+	<!DOCTYPE plist
+		PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\"
+		\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
+	<plist version=\"1.0\">
+	<dict>
+		<key>CFBundleDevelopmentRegion</key>
+		<string>English</string>
+		<key>CFBundleExecutable</key>
+		<string>$BINARY</string>
+		<key>CFBundleGetInfoString</key>
+		<string>ioquake3 $Q3_VERSION</string>
+		<key>CFBundleIconFile</key>
+		<string>ioquake3.icns</string>
+		<key>CFBundleIdentifier</key>
+		<string>org.icculus.quake3</string>
+		<key>CFBundleInfoDictionaryVersion</key>
+		<string>6.0</string>
+		<key>CFBundleName</key>
+		<string>ioquake3</string>
+		<key>CFBundlePackageType</key>
+		<string>APPL</string>
+		<key>CFBundleShortVersionString</key>
+		<string>$Q3_VERSION</string>
+		<key>CFBundleSignature</key>
+		<string>$PKGINFO</string>
+		<key>CFBundleVersion</key>
+		<string>$Q3_VERSION</string>
+		<key>NSExtensions</key>
+		<dict/>
+		<key>NSPrincipalClass</key>
+		<string>NSApplication</string>
+	</dict>
+	</plist>
+	" > $DESTDIR/$APPBUNDLE/Contents/Info.plist
 
-echo "Installing Universal Binaries in $DESTDIR"
-lipo -create -o $DESTDIR/ioquake3.ub $BIN_OBJ
-cp $BASE_OBJ $DESTDIR/$BASEDIR/
-cp $MPACK_OBJ $DESTDIR/$MPACKDIR/
-cp code/libs/macosx/*.dylib $DESTDIR/
+lipo -create -o $DESTDIR/$APPBUNDLE/Contents/MacOS/$BINARY $BIN_OBJ
+cp $BASE_OBJ $DESTDIR/$APPBUNDLE/Contents/MacOS/$BASEDIR/
+cp $MPACK_OBJ $DESTDIR/$APPBUNDLE/Contents/MacOS/$MPACKDIR/
+cp code/libs/macosx/*.dylib $DESTDIR/$APPBUNDLE/Contents/MacOS/
 




More information about the quake3-commits mailing list