// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 48;
	objects = {

/* Begin PBXBuildFile section */
		450A4F5F220CB180007203D7 /* SPIRVReflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 450A4F5D220CB180007203D7 /* SPIRVReflection.cpp */; };
		450A4F60220CB180007203D7 /* SPIRVReflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 450A4F5D220CB180007203D7 /* SPIRVReflection.cpp */; };
		450A4F61220CB180007203D7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
		450A4F62220CB180007203D7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
		A909408A1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
		A909408B1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
		A909408C1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */; };
		A909408D1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */; };
		A90940A71C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
		A90940A81C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
		A90940A91C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */; };
		A90940AA1C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */; };
		A90941A31C581F840094110D /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
		A90941A41C581F840094110D /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
		A90941A51C581F840094110D /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A90941A21C581F840094110D /* GLSLConversion.h */; };
		A90941A61C581F840094110D /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A90941A21C581F840094110D /* GLSLConversion.h */; };
		A925B71A1C78DEB2006E7ECD /* libMoltenVKGLSLToSPIRVConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */; };
		A925B71B1C78DEB2006E7ECD /* libMoltenVKSPIRVToMSLConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */; };
		A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
		A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
		A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
		A928C91C1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
		A95096BB2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
		A95096BC2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
		A95096BF2003D32400F10950 /* OSSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A95096BD2003D32400F10950 /* OSSupport.mm */; };
		A972AD2B21CEE6A90013AB25 /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD2A21CEE6A90013AB25 /* libglslang.a */; };
		A972AD3121CEE7040013AB25 /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */; };
		A972AD3221CEE7040013AB25 /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3021CEE7040013AB25 /* libSPIRVTools.a */; };
		A972AD3621CEE7330013AB25 /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3421CEE7330013AB25 /* libSPIRVTools.a */; };
		A972AD3721CEE7330013AB25 /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3521CEE7330013AB25 /* libSPIRVCross.a */; };
		A972AD3921CEE7480013AB25 /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3821CEE7480013AB25 /* libglslang.a */; };
		A97CC7401C7527F3004A5C7E /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73D1C7527F3004A5C7E /* main.cpp */; };
		A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */; };
		A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
		A9A14E332244388700C080F3 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A14E322244388700C080F3 /* Metal.framework */; };
		A9C70F5A221B2F6500FBA31A /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3021CEE7040013AB25 /* libSPIRVTools.a */; };
		A9C70F5B221B2F8100FBA31A /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3421CEE7330013AB25 /* libSPIRVTools.a */; };
		A9C70F5F221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		A9C70F60221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		A9C70F61221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		A9C70F62221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
		A9C70F63221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9C70F64221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9C70F65221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9C70F66221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9C70F67221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
		A9E337B8220129ED00363D2A /* MVKLogging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9E337B7220129ED00363D2A /* MVKLogging.cpp */; };
		A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		A9F042B31FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
		A9F042B41FB4D060009FCCB8 /* MVKLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AB1FB4D060009FCCB8 /* MVKLogging.h */; };
		A9F042B51FB4D060009FCCB8 /* MVKLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AB1FB4D060009FCCB8 /* MVKLogging.h */; };
		A9F042B61FB4D060009FCCB8 /* MVKLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AB1FB4D060009FCCB8 /* MVKLogging.h */; };
		A9F042B71FB4D060009FCCB8 /* MVKLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AB1FB4D060009FCCB8 /* MVKLogging.h */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		A925B71C1C78DEBF006E7ECD /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A9F55D25198BE6A7004EC31B /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A93903C01C57E9ED00FE90DC;
			remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS";
		};
		A93749CE1A9AA7AF00F29B34 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = A9F55D25198BE6A7004EC31B /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A93747701A9A98D000F29B34;
			remoteInfo = "MetalGLShaderConverter-macOS";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		450A4F5D220CB180007203D7 /* SPIRVReflection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPIRVReflection.cpp; sourceTree = "<group>"; };
		450A4F5E220CB180007203D7 /* SPIRVReflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVReflection.h; sourceTree = "<group>"; };
		A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPIRVToMSLConverter.cpp; sourceTree = "<group>"; };
		A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVToMSLConverter.h; sourceTree = "<group>"; };
		A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GLSLToSPIRVConverter.cpp; sourceTree = "<group>"; };
		A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLToSPIRVConverter.h; sourceTree = "<group>"; };
		A90941A11C581F840094110D /* GLSLConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GLSLConversion.mm; sourceTree = "<group>"; };
		A90941A21C581F840094110D /* GLSLConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLConversion.h; sourceTree = "<group>"; };
		A925B70A1C7754B2006E7ECD /* FileSupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FileSupport.mm; sourceTree = "<group>"; };
		A925B70B1C7754B2006E7ECD /* FileSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSupport.h; sourceTree = "<group>"; };
		A928C9171D0488DC00071B88 /* SPIRVConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVConversion.h; sourceTree = "<group>"; };
		A928C9181D0488DC00071B88 /* SPIRVConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SPIRVConversion.mm; sourceTree = "<group>"; };
		A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A95096BD2003D32400F10950 /* OSSupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OSSupport.mm; sourceTree = "<group>"; };
		A95096BE2003D32400F10950 /* OSSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSSupport.h; sourceTree = "<group>"; };
		A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MoltenVKShaderConverter; sourceTree = BUILT_PRODUCTS_DIR; };
		A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A972AD2A21CEE6A90013AB25 /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = iOS/libglslang.a; sourceTree = "<group>"; };
		A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = iOS/libSPIRVCross.a; sourceTree = "<group>"; };
		A972AD3021CEE7040013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = iOS/libSPIRVTools.a; sourceTree = "<group>"; };
		A972AD3421CEE7330013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = macOS/libSPIRVTools.a; sourceTree = "<group>"; };
		A972AD3521CEE7330013AB25 /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = macOS/libSPIRVCross.a; sourceTree = "<group>"; };
		A972AD3821CEE7480013AB25 /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = macOS/libglslang.a; sourceTree = "<group>"; };
		A97CC73D1C7527F3004A5C7E /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
		A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MoltenVKShaderConverterTool.cpp; sourceTree = "<group>"; };
		A97CC73F1C7527F3004A5C7E /* MoltenVKShaderConverterTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MoltenVKShaderConverterTool.h; sourceTree = "<group>"; };
		A98149651FB6A98A005F00B4 /* MVKStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKStrings.h; sourceTree = "<group>"; };
		A9A14E322244388700C080F3 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
		A9C70F5D221B321600FBA31A /* SPIRVSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SPIRVSupport.h; path = Common/SPIRVSupport.h; sourceTree = SOURCE_ROOT; };
		A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SPIRVSupport.cpp; path = Common/SPIRVSupport.cpp; sourceTree = SOURCE_ROOT; };
		A9E337B7220129ED00363D2A /* MVKLogging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MVKLogging.cpp; sourceTree = "<group>"; };
		A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCommonEnvironment.h; sourceTree = "<group>"; };
		A9F042AB1FB4D060009FCCB8 /* MVKLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKLogging.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		A9092A8A1A81717B00051823 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9A14E332244388700C080F3 /* Metal.framework in Frameworks */,
				A925B71A1C78DEB2006E7ECD /* libMoltenVKGLSLToSPIRVConverter.a in Frameworks */,
				A925B71B1C78DEB2006E7ECD /* libMoltenVKSPIRVToMSLConverter.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A972AD2821CEE6310013AB25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A972AD2B21CEE6A90013AB25 /* libglslang.a in Frameworks */,
				A9C70F5A221B2F6500FBA31A /* libSPIRVTools.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A972AD2C21CEE6C30013AB25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A972AD3921CEE7480013AB25 /* libglslang.a in Frameworks */,
				A9C70F5B221B2F8100FBA31A /* libSPIRVTools.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A972AD2E21CEE6F50013AB25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A972AD3221CEE7040013AB25 /* libSPIRVTools.a in Frameworks */,
				A972AD3121CEE7040013AB25 /* libSPIRVCross.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A972AD3321CEE7230013AB25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A972AD3621CEE7330013AB25 /* libSPIRVTools.a in Frameworks */,
				A972AD3721CEE7330013AB25 /* libSPIRVCross.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		A9093C561C58013D0094110D /* MoltenVKSPIRVToMSLConverter */ = {
			isa = PBXGroup;
			children = (
				450A4F5D220CB180007203D7 /* SPIRVReflection.cpp */,
				450A4F5E220CB180007203D7 /* SPIRVReflection.h */,
				A925B70B1C7754B2006E7ECD /* FileSupport.h */,
				A925B70A1C7754B2006E7ECD /* FileSupport.mm */,
				A928C9171D0488DC00071B88 /* SPIRVConversion.h */,
				A928C9181D0488DC00071B88 /* SPIRVConversion.mm */,
				A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */,
				A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */,
			);
			path = MoltenVKSPIRVToMSLConverter;
			sourceTree = "<group>";
		};
		A90940A11C5808BB0094110D /* MoltenVKGLSLToSPIRVConverter */ = {
			isa = PBXGroup;
			children = (
				A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */,
				A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */,
				A90941A11C581F840094110D /* GLSLConversion.mm */,
				A90941A21C581F840094110D /* GLSLConversion.h */,
			);
			path = MoltenVKGLSLToSPIRVConverter;
			sourceTree = "<group>";
		};
		A964B28D1C57EBC400D930D8 /* Products */ = {
			isa = PBXGroup;
			children = (
				A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */,
				A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */,
				A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */,
				A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */,
				A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		A972AD2921CEE6A80013AB25 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				A9A14E322244388700C080F3 /* Metal.framework */,
				A972AD2A21CEE6A90013AB25 /* libglslang.a */,
				A972AD3821CEE7480013AB25 /* libglslang.a */,
				A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */,
				A972AD3521CEE7330013AB25 /* libSPIRVCross.a */,
				A972AD3021CEE7040013AB25 /* libSPIRVTools.a */,
				A972AD3421CEE7330013AB25 /* libSPIRVTools.a */,
			);
			name = Frameworks;
			path = ../External/build;
			sourceTree = SOURCE_ROOT;
		};
		A97CC73C1C7527F3004A5C7E /* MoltenVKShaderConverterTool */ = {
			isa = PBXGroup;
			children = (
				A95096BE2003D32400F10950 /* OSSupport.h */,
				A95096BD2003D32400F10950 /* OSSupport.mm */,
				A97CC73D1C7527F3004A5C7E /* main.cpp */,
				A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */,
				A97CC73F1C7527F3004A5C7E /* MoltenVKShaderConverterTool.h */,
			);
			path = MoltenVKShaderConverterTool;
			sourceTree = "<group>";
		};
		A9F042A81FB4D060009FCCB8 /* Common */ = {
			isa = PBXGroup;
			children = (
				A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */,
				A9E337B7220129ED00363D2A /* MVKLogging.cpp */,
				A9F042AB1FB4D060009FCCB8 /* MVKLogging.h */,
				A98149651FB6A98A005F00B4 /* MVKStrings.h */,
				A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */,
				A9C70F5D221B321600FBA31A /* SPIRVSupport.h */,
			);
			name = Common;
			path = ../Common;
			sourceTree = "<group>";
		};
		A9F55D24198BE6A7004EC31B = {
			isa = PBXGroup;
			children = (
				A9093C561C58013D0094110D /* MoltenVKSPIRVToMSLConverter */,
				A90940A11C5808BB0094110D /* MoltenVKGLSLToSPIRVConverter */,
				A97CC73C1C7527F3004A5C7E /* MoltenVKShaderConverterTool */,
				A9F042A81FB4D060009FCCB8 /* Common */,
				A964B28D1C57EBC400D930D8 /* Products */,
				A972AD2921CEE6A80013AB25 /* Frameworks */,
			);
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		A93747291A9A8B2900F29B34 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9F042B41FB4D060009FCCB8 /* MVKLogging.h in Headers */,
				A9C70F5F221B321700FBA31A /* SPIRVSupport.h in Headers */,
				A90941A51C581F840094110D /* GLSLConversion.h in Headers */,
				A90940A91C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
				A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
				A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A937476E1A9A98D000F29B34 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9F042B51FB4D060009FCCB8 /* MVKLogging.h in Headers */,
				A9C70F60221B321700FBA31A /* SPIRVSupport.h in Headers */,
				A90941A61C581F840094110D /* GLSLConversion.h in Headers */,
				A90940AA1C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
				A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
				A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93903B91C57E9D700FE90DC /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				450A4F61220CB180007203D7 /* SPIRVReflection.h in Headers */,
				A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */,
				A9C70F61221B321700FBA31A /* SPIRVSupport.h in Headers */,
				A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */,
				A9F042B61FB4D060009FCCB8 /* MVKLogging.h in Headers */,
				A909408C1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */,
				A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93903C11C57E9ED00FE90DC /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				450A4F62220CB180007203D7 /* SPIRVReflection.h in Headers */,
				A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */,
				A9C70F62221B321700FBA31A /* SPIRVSupport.h in Headers */,
				A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */,
				A909408D1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */,
				A9F042B71FB4D060009FCCB8 /* MVKLogging.h in Headers */,
				A9F042B31FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		A9092A8C1A81717B00051823 /* MoltenVKShaderConverter */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A9092A931A81717C00051823 /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter" */;
			buildPhases = (
				A9092A891A81717B00051823 /* Sources */,
				A9092A8A1A81717B00051823 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */,
				A93749CF1A9AA7AF00F29B34 /* PBXTargetDependency */,
			);
			name = MoltenVKShaderConverter;
			productName = MetalGLShaderConverterTool;
			productReference = A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */;
			productType = "com.apple.product-type.tool";
		};
		A937472B1A9A8B2900F29B34 /* MoltenVKGLSLToSPIRVConverter-iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A937473F1A9A8B2900F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-iOS" */;
			buildPhases = (
				A93747291A9A8B2900F29B34 /* Headers */,
				A93747271A9A8B2900F29B34 /* Sources */,
				A972AD2821CEE6310013AB25 /* Frameworks */,
				A9C70F49221B075700FBA31A /* Create Dynamic Library */,
				A941E2A7221AC9C300890C56 /* Create Framework */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKGLSLToSPIRVConverter-iOS";
			productName = "MetalGLShaderConverter-iOS";
			productReference = A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
		A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A93747841A9A98D000F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-macOS" */;
			buildPhases = (
				A937476E1A9A98D000F29B34 /* Headers */,
				A937476C1A9A98D000F29B34 /* Sources */,
				A972AD2C21CEE6C30013AB25 /* Frameworks */,
				A9C70F4A221B076D00FBA31A /* Create Dynamic Library */,
				A941E2A9221ACA2C00890C56 /* Create Framework */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKGLSLToSPIRVConverter-macOS";
			productName = "MetalGLShaderConverter-macOS";
			productReference = A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
		A93903B81C57E9D700FE90DC /* MoltenVKSPIRVToMSLConverter-iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A93903BC1C57E9D700FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-iOS" */;
			buildPhases = (
				A93903B91C57E9D700FE90DC /* Headers */,
				A93903BA1C57E9D700FE90DC /* Sources */,
				A972AD2E21CEE6F50013AB25 /* Frameworks */,
				A9C70F4B221B077C00FBA31A /* Create Dynamic Library */,
				A941E2A8221AC9E800890C56 /* Create Framework */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKSPIRVToMSLConverter-iOS";
			productName = "MetalGLShaderConverter-iOS";
			productReference = A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
		A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A93903C41C57E9ED00FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-macOS" */;
			buildPhases = (
				A93903C11C57E9ED00FE90DC /* Headers */,
				A93903C21C57E9ED00FE90DC /* Sources */,
				A972AD3321CEE7230013AB25 /* Frameworks */,
				A9C70F4C221B078C00FBA31A /* Create Dynamic Library */,
				A941E2AA221ACA4C00890C56 /* Create Framework */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "MoltenVKSPIRVToMSLConverter-macOS";
			productName = "MetalGLShaderConverter-macOS";
			productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		A9F55D25198BE6A7004EC31B /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 1020;
				ORGANIZATIONNAME = "The Brenwill Workshop Ltd.";
				TargetAttributes = {
					A9092A8C1A81717B00051823 = {
						CreatedOnToolsVersion = 6.1.1;
						DevelopmentTeam = VU3TCKU48B;
					};
					A937472B1A9A8B2900F29B34 = {
						CreatedOnToolsVersion = 6.1.1;
						DevelopmentTeam = VU3TCKU48B;
					};
					A93747701A9A98D000F29B34 = {
						CreatedOnToolsVersion = 6.1.1;
						DevelopmentTeam = VU3TCKU48B;
					};
					A93903B81C57E9D700FE90DC = {
						DevelopmentTeam = VU3TCKU48B;
					};
					A93903C01C57E9ED00FE90DC = {
						DevelopmentTeam = VU3TCKU48B;
					};
				};
			};
			buildConfigurationList = A9F55D28198BE6A7004EC31B /* Build configuration list for PBXProject "MoltenVKShaderConverter" */;
			compatibilityVersion = "Xcode 8.0";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = A9F55D24198BE6A7004EC31B;
			productRefGroup = A9F55D24198BE6A7004EC31B;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A9092A8C1A81717B00051823 /* MoltenVKShaderConverter */,
				A937472B1A9A8B2900F29B34 /* MoltenVKGLSLToSPIRVConverter-iOS */,
				A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */,
				A93903B81C57E9D700FE90DC /* MoltenVKSPIRVToMSLConverter-iOS */,
				A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		A941E2A7221AC9C300890C56 /* Create Framework */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Framework";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_ios.sh\"\n";
		};
		A941E2A8221AC9E800890C56 /* Create Framework */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Framework";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_ios.sh\"\n";
		};
		A941E2A9221ACA2C00890C56 /* Create Framework */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Framework";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_macos.sh\"\n";
		};
		A941E2AA221ACA4C00890C56 /* Create Framework */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Framework";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/create_framework_macos.sh\"\n";
		};
		A9C70F49221B075700FBA31A /* Create Dynamic Library */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Dynamic Library";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_ios.sh\"\n";
		};
		A9C70F4A221B076D00FBA31A /* Create Dynamic Library */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Dynamic Library";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_macos.sh\"\n";
		};
		A9C70F4B221B077C00FBA31A /* Create Dynamic Library */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Dynamic Library";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_ios.sh\"\n";
		};
		A9C70F4C221B078C00FBA31A /* Create Dynamic Library */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Dynamic Library";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_macos.sh\"\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		A9092A891A81717B00051823 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9E337B8220129ED00363D2A /* MVKLogging.cpp in Sources */,
				A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */,
				A9C70F63221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A95096BF2003D32400F10950 /* OSSupport.mm in Sources */,
				A97CC7401C7527F3004A5C7E /* main.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93747271A9A8B2900F29B34 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A90941A31C581F840094110D /* GLSLConversion.mm in Sources */,
				A9C70F64221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A90940A71C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A937476C1A9A98D000F29B34 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A90941A41C581F840094110D /* GLSLConversion.mm in Sources */,
				A9C70F65221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A90940A81C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93903BA1C57E9D700FE90DC /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A95096BB2003D00300F10950 /* FileSupport.mm in Sources */,
				A909408A1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */,
				A9C70F66221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */,
				450A4F5F220CB180007203D7 /* SPIRVReflection.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A93903C21C57E9ED00FE90DC /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A95096BC2003D00300F10950 /* FileSupport.mm in Sources */,
				A909408B1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */,
				A9C70F67221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
				A928C91C1D0488DC00071B88 /* SPIRVConversion.mm in Sources */,
				450A4F60220CB180007203D7 /* SPIRVReflection.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */;
			targetProxy = A925B71C1C78DEBF006E7ECD /* PBXContainerItemProxy */;
		};
		A93749CF1A9AA7AF00F29B34 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */;
			targetProxy = A93749CE1A9AA7AF00F29B34 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		A9092A911A81717C00051823 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GENERATE_MASTER_OBJECT_FILE = NO;
				MACH_O_TYPE = mh_execute;
				OTHER_LDFLAGS = (
					"-ObjC",
					"-w",
				);
				PRODUCT_NAME = MoltenVKShaderConverter;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A9092A921A81717C00051823 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GENERATE_MASTER_OBJECT_FILE = NO;
				MACH_O_TYPE = mh_execute;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = MoltenVKShaderConverter;
				SDKROOT = macosx;
			};
			name = Release;
		};
		A93747401A9A8B2900F29B34 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = arm64;
				BITCODE_GENERATION_MODE = bitcode;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/iOS\"";
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALID_ARCHS = arm64;
			};
			name = Debug;
		};
		A93747411A9A8B2900F29B34 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = arm64;
				BITCODE_GENERATION_MODE = bitcode;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/iOS\"";
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALID_ARCHS = arm64;
			};
			name = Release;
		};
		A93747851A9A98D000F29B34 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
				);
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/macOS\"";
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A93747861A9A98D000F29B34 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
				GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
				GCC_WARN_UNUSED_PARAMETER = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
				);
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/macOS\"";
				PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
				SDKROOT = macosx;
			};
			name = Release;
		};
		A93903BD1C57E9D700FE90DC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = arm64;
				BITCODE_GENERATION_MODE = bitcode;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/SPIRV-Cross\"",
					"\"$(SRCROOT)/glslang/External/spirv-tools/\"",
					"\"$(SRCROOT)/glslang/build/External/spirv-tools\"",
				);
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/iOS\"";
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALID_ARCHS = arm64;
			};
			name = Debug;
		};
		A93903BE1C57E9D700FE90DC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = arm64;
				BITCODE_GENERATION_MODE = bitcode;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/SPIRV-Cross\"",
					"\"$(SRCROOT)/glslang/External/spirv-tools/\"",
					"\"$(SRCROOT)/glslang/build/External/spirv-tools\"",
				);
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/iOS\"";
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALID_ARCHS = arm64;
			};
			name = Release;
		};
		A93903C51C57E9ED00FE90DC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/SPIRV-Cross\"",
					"\"$(SRCROOT)/glslang/External/spirv-tools/\"",
					"\"$(SRCROOT)/glslang/build/External/spirv-tools\"",
				);
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/macOS\"";
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A93903C61C57E9ED00FE90DC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
				);
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/SPIRV-Cross\"",
					"\"$(SRCROOT)/glslang/External/spirv-tools/\"",
					"\"$(SRCROOT)/glslang/build/External/spirv-tools\"",
				);
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/macOS\"";
				PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
				SDKROOT = macosx;
			};
			name = Release;
		};
		A9F55D3F198BE6A8004EC31B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = NO;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_CXX0X_EXTENSIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_PARAMETER = YES;
				GCC_WARN_UNUSED_VARIABLE = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
					"\"$(SRCROOT)/glslang/External/spirv-tools/external/spirv-headers/include\"",
				);
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MACH_O_TYPE = staticlib;
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				ONLY_ACTIVE_ARCH = YES;
				SKIP_INSTALL = YES;
				VALID_ARCHS = x86_64;
			};
			name = Debug;
		};
		A9F55D40198BE6A8004EC31B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = NO;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_CXX0X_EXTENSIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = NO;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = fast;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_PARAMETER = YES;
				GCC_WARN_UNUSED_VARIABLE = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
					"\"$(SRCROOT)/glslang/External/spirv-tools/external/spirv-headers/include\"",
				);
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MACH_O_TYPE = staticlib;
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				SKIP_INSTALL = YES;
				VALIDATE_PRODUCT = YES;
				VALID_ARCHS = x86_64;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		A9092A931A81717C00051823 /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9092A911A81717C00051823 /* Debug */,
				A9092A921A81717C00051823 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A937473F1A9A8B2900F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93747401A9A8B2900F29B34 /* Debug */,
				A93747411A9A8B2900F29B34 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A93747841A9A98D000F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-macOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93747851A9A98D000F29B34 /* Debug */,
				A93747861A9A98D000F29B34 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A93903BC1C57E9D700FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93903BD1C57E9D700FE90DC /* Debug */,
				A93903BE1C57E9D700FE90DC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A93903C41C57E9ED00FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-macOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93903C51C57E9ED00FE90DC /* Debug */,
				A93903C61C57E9ED00FE90DC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9F55D28198BE6A7004EC31B /* Build configuration list for PBXProject "MoltenVKShaderConverter" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9F55D3F198BE6A8004EC31B /* Debug */,
				A9F55D40198BE6A8004EC31B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = A9F55D25198BE6A7004EC31B /* Project object */;
}
