Maelstrom: Added a build step to create an installer disk image

https://github.com/libsdl-org/Maelstrom/commit/94df8d17e899852b421c2064f6cdc749321cff93

From 94df8d17e899852b421c2064f6cdc749321cff93 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 3 Oct 2012 02:28:31 -0700
Subject: [PATCH] Added a build step to create an installer disk image

---
 Xcode/Maelstrom.xcodeproj/project.pbxproj | 105 ++++++++++++++++++++++
 Xcode/pkg-support/Maelstrom_DS_Store      | Bin 0 -> 15364 bytes
 Xcode/pkg-support/dmg.png                 | Bin 0 -> 162005 bytes
 3 files changed, 105 insertions(+)
 create mode 100644 Xcode/pkg-support/Maelstrom_DS_Store
 create mode 100644 Xcode/pkg-support/dmg.png

diff --git a/Xcode/Maelstrom.xcodeproj/project.pbxproj b/Xcode/Maelstrom.xcodeproj/project.pbxproj
index efce6f6f..b4b41bf0 100644
--- a/Xcode/Maelstrom.xcodeproj/project.pbxproj
+++ b/Xcode/Maelstrom.xcodeproj/project.pbxproj
@@ -64,6 +64,16 @@
 		AA8B1905161C1188005318A4 /* loadxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8B1903161C1188005318A4 /* loadxml.cpp */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+		AA8B1924161C3451005318A4 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = AA4086E114D490F000EB2196 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = AA4086E914D490F000EB2196;
+			remoteInfo = Maelstrom;
+		};
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXCopyFilesBuildPhase section */
 		AA4088E414D497FC00EB2196 /* Copy Frameworks */ = {
 			isa = PBXCopyFilesBuildPhase;
@@ -196,6 +206,7 @@
 		AA8B18FF161C1134005318A4 /* gameover.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gameover.h; sourceTree = "<group>"; };
 		AA8B1903161C1188005318A4 /* loadxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loadxml.cpp; sourceTree = "<group>"; };
 		AA8B1904161C1188005318A4 /* loadxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loadxml.h; sourceTree = "<group>"; };
+		AA8B191A161C343E005318A4 /* Package */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Package; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -227,6 +238,7 @@
 			isa = PBXGroup;
 			children = (
 				AA4086EA14D490F000EB2196 /* Maelstrom.app */,
+				AA8B191A161C343E005318A4 /* Package */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -441,6 +453,22 @@
 			productReference = AA4086EA14D490F000EB2196 /* Maelstrom.app */;
 			productType = "com.apple.product-type.application";
 		};
+		AA8B1919161C343E005318A4 /* Package */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = AA8B1921161C343E005318A4 /* Build configuration list for PBXNativeTarget "Package" */;
+			buildPhases = (
+				AA8B1926161C347B005318A4 /* ShellScript */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				AA8B1925161C3451005318A4 /* PBXTargetDependency */,
+			);
+			name = Package;
+			productName = Package;
+			productReference = AA8B191A161C343E005318A4 /* Package */;
+			productType = "com.apple.product-type.tool";
+		};
 /* End PBXNativeTarget section */
 
 /* Begin PBXProject section */
@@ -462,6 +490,7 @@
 			projectRoot = "";
 			targets = (
 				AA4086E914D490F000EB2196 /* Maelstrom */,
+				AA8B1919161C343E005318A4 /* Package */,
 			);
 		};
 /* End PBXProject section */
@@ -493,6 +522,19 @@
 			shellPath = /bin/sh;
 			shellScript = "cat ../Maelstrom_Data.zip >>$TARGET_BUILD_DIR/$EXECUTABLE_PATH";
 		};
+		AA8B1926161C347B005318A4 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "TMP=build/dmg-tmp\nrm -rf $TMP\nmkdir -p $TMP\n\n# Copy the files and set up the disk image directory\n`xcode-select -print-path`/Tools/CpMac -r $TARGET_BUILD_DIR/Maelstrom.app $TMP/\nln -s /Applications $TMP/Applications\nmkdir $TMP/background\n`xcode-select -print-path`/Tools/SetFile -a V $TMP/background\ncp pkg-support/dmg.png $TMP/background\ncp pkg-support/Maelstrom_DS_Store $TMP/.DS_Store\n\n# create the dmg\nhdiutil create -volname Maelstrom -fs HFS+ -srcfolder $TMP -format UDRW build/Maelstrom.RW.dmg\n\n# Make it auto-open\n#if [ -e /Volumes/Maelstrom ]; then\n#    hdiutil detach /Volumes/Maelstrom\n#fi\n#if [ ! -e /Volumes/Maelstrom ]; then\n#    hdiutil attach build/Maelstrom.RW.dmg\n#    bless -folder /Volumes/Maelstrom -openfolder /Volumes/Maelstrom\n#    hdiutil detach /Volumes/Maelstrom\n#fi\n\n# Convert to compressed read-only image\nrm -f build/Maelstrom.dmg\nhdiutil convert build/Maelstrom.RW.dmg -format UDZO -imagekey zlib-level=9 -o build/Maelstrom.dmg\nrm build/Maelstrom.RW.dmg\n\n# clean up\nrm -rf $TMP";
+		};
 /* End PBXShellScriptBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
@@ -550,6 +592,14 @@
 		};
 /* End PBXSourcesBuildPhase section */
 
+/* Begin PBXTargetDependency section */
+		AA8B1925161C3451005318A4 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = AA4086E914D490F000EB2196 /* Maelstrom */;
+			targetProxy = AA8B1924161C3451005318A4 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
 /* Begin PBXVariantGroup section */
 		AA4086F714D490F000EB2196 /* InfoPlist.strings */ = {
 			isa = PBXVariantGroup;
@@ -624,6 +674,53 @@
 			};
 			name = Release;
 		};
+		AA8B1922161C343E005318A4 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		AA8B1923161C343E005318A4 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
@@ -645,6 +742,14 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		AA8B1921161C343E005318A4 /* Build configuration list for PBXNativeTarget "Package" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				AA8B1922161C343E005318A4 /* Debug */,
+				AA8B1923161C343E005318A4 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = AA4086E114D490F000EB2196 /* Project object */;
diff --git a/Xcode/pkg-support/Maelstrom_DS_Store b/Xcode/pkg-support/Maelstrom_DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..0308d7fdefdf6f7d357a95ecfb63bac94f843301
GIT binary patch
literal 15364
zcmeHMO>7&-6@Dwx5$VVl^%uL1(=b+nCXGohN%2ogVTzVy3$P-kQWL4NBQ3d0iV(?V
z$(7{PRx1ZVbIHL5ax8+P%^^V3_E4cMiX4o>m!>Y@Q_+Kg0zLH*v_7;z4n^DV?anS`
z%24YfE&4M9ynWxyym>S8&FtG5l8BW2rXC{-5s@FlI@pWHLlW1s97tWFqz_s_dol|^
zKPWV+m6mnDS{6tKBm<HG$$(@)GVq_k0KVCr{Es_YJ|zQ^0m*>J0LO<Agmq5nT}RuY
z0}uNO0PRDuoq&T3phH6Egx+;DYLFDCDYVm65myYwX^!%cu*(U(>u9GrDdO^>h@KU3
zLs9JB;Xh=Xlah0^d`bo+0|yy!?(UJocB@gS?!UjQ>aUcpZr_o|di;Svp!d=%mAY<j
z=grN!-db5$H@6omx>3-Ymu+lm)@CcOHSL;t&00r|jTcR`3Vcaezf#ey_0{0Xt5-)8
z=`*2ZT-`Ynx;mQ8oCzgT*`1w$-|r8SfB1Cdg$s+?wVkhheb*VYBHnvC)-i|Ikyj{E
zDQ<}g_;#EhAXN1?!9H&aM<4G!cDygxKQK5n{KScqpZfHZ15bTsH8@z%iW}u7&+436
zHJkbBrm?Iwn_9hW<X>A2_O&q6nW9;rZyH+_V|%Fryiob7v1A!nEC#E=fes&EH1t>7
zMT@UBU^CP%u=_dRG>rO6xmnTYN~M-zE$ze0m+Ve0qc&47nefjY&o!)yS#P~;G+WS@
zt6IUR&eij#Wtp`H+|SgsvN2JuXf502LPIN7>gAEM_Z{9A>t@{ujO5mw>`3m60Ior>
z%d;JEs)#&*wF%7ickOWno`}JLS<R@ntfpCWjobRp&D^&yJWoeZa-v7Cl_QOMxn29n
z==$yRwI9#Fc)pa$&&>W6iRhU43V6Pbwt2>f1mA=^H@`E0+J45j&)@wVu=B||fzdzZ
z4SuZMZj8L49*2(}(y2yeico{<(0w#S0h%R^460I#ENYSoivb#pww**hAA>Xyec7yT
z){Iuv>yCz$DvudY%)mdZ6+?3ip(QTrNFTmaUIB+h-NUoTy!H{e?=buavdZ$-4zG!B
zY&CVgwc&6W2z4~=nKW7(mf7GhIavGfouB^#7B+)|O@(@SJdixmjgK)0OwF0X*q2(^
zqGQymnwuL&eT;;&G3prnaXN)}`5=!G!FL}R_1pDD90lfR0na6rjo2MTh5x8<-=@}~
zW{{L9(J)4Koc9UKNN!n7)KAaRS(>30yQ|mfCcQ^{bc=pTzoq+1k20v7Ql3#xE6*#V
z$`_Qg$_3>m<;%*7a#?xR_k`o4%MC|QKS-XB^9V<cd|nmt^w%6*+WUdf5z$}3J-b-P
z@r6UM566~^(439{zw1B>0^boh2mFD+AcKA<jy_$$7X=Oi4+)!o#$ucUz<(6wgTOvf
z9s<q@oC97HSh-8|k+2T}|3tiKyZ6zSUuY*eGu?1zdgNZgG&lAh<0@ZJ6()zN58$Z>
z1{~bQJA!x1$$Q%c`J<w&{eHFExi4CfZO}Ip!3;bLc>#hQOulZ+%m6@g^KRsD^Cz5Y
zul~BoyMA@#Eyx>?w;|k)JDd3KyWf8i@Fau}rGh|vRoP^JQZQe)KccVLL-73k=+x&q
zQhgS}d?cqc`E)EZ6`q{Rj)oHxv2)?9I*|xZr<3YvHZgf_GCkq;soDMd=?`bQf7_$o
zErv(knESV|#dy)!ul@P}yS$4R$;-PhKYwT0-dhI|b6h^EsJjMv3-V2fJFky#pdpf*
z&kth&`|`6L`JJt0w03R{ync6(y9fCQ@@I%Uhd%+cPiIU{uyOmK-HT(Zq7Qpb_MV&P
znB{SqnNG!0nd$I!GL;P{rqa{l{6s<x=ac!knjg(hrILA<%j?_+dg|m7-P?U5taxMM
z;Qc<ALyxL@TuY|(LP0I1^-N6HQpIF8qnEPDj5eBz#WF=TnbZ^Gsz@Gi@^N*%Xx1WH
zqfs^Z8E$EHy<lF6G!0D;Z#OHJ;kJm4t1-J#+$~YnSTdVVrS<XXCdXedJnBv;kJj9;
zw7rTPQ8)tezTm`b$`NRfCyB%nsMp?|r~}>~f!xT!QRjWv23QriA9zh*jygGkIqJ*{
z90GnzU=`SnG|DaK9V4WEVBTMx25w<3g?(o<x-H82-Qm6QkdG}bqK@ZF_ld4xJ93En
zq{i>=PxkF$_;)c+VF<!|`!)*iLhcF8_<LN3IjBi3R*DzXMJ-v(X42_GL5~-bdMc)8
zGNnSYRMNA$7Eh<WCHKHTzkiY)J~FZK=$1IEcsoX%YIv9w*;;7UtEPR7<B4%e%c@#9
z<5r6GEtK@q1P)3K9E~be#39LoHgRxj%~Z{z_#$FQDc4~8Q+jgwY5p`L9i;-Si?o3w
z79XfK(MEr;4SfT4zen329@ggX++_Tp{7ojFh~p-c$nZ@jomS6;MuGVz69~Tfs5hC1
z($GQr!%s~b)80WCFUZfRd*ieq?2wk#a%=(dr@?EXB<62H9b#QGCnxnytH|f;8!vI2
z!>#p4ux_mH8%b*3b}k?P3I-4fIfeN5|0zWJUOOuvk^#xU{}Tg>Z*pNWj~R>O)`7Y6
z5i0~)gK%QIT}RtZ@UTx|&^Xc989tgn%NS)UYfiv9p?4jP5~P3op8@jz?+{O+5SB#X
z9PpaJ^8SCFHzpDetM=JlhqfSZK;DM%2It-W-+KS&;maf$kPJu$Bm<HG$$(@)G9Vd{
Y3`hnf1CjyBfMh^2AQ_Mh{BJVwHy6Jc+5i9m

literal 0
HcmV?d00001

diff --git a/Xcode/pkg-support/dmg.png b/Xcode/pkg-support/dmg.png
new file mode 100644
index 0000000000000000000000000000000000000000..51de67739bab95b0cbf8731551314d863a7c0542
GIT binary patch
literal 162005
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

(Patch may be truncated, please check the link at the top of this post.)