Bill Hollings 0d62ff8fb7 Improve support for iOS App Store rules by using dynamic XCFramework.
Apple's iOS App Store does not permit an app to link to naked dylibs.
Instead, these must be placed in frameworks, which are embedded in a
dynamic version of MoltenVK.xcframework.

- Use Xcode to directly generate a MoltenVK.framework for each platform,
  and remove create_dylib*.sh scripts.
- Move static XCFramework, containing libMoltenVK.a static libraries,
  to Package/Latest/MoltenVK/static/MoltenVK.xcframework.
- Generate dynamic XCFramework, containing MoltenVK.framework dynamic
  libraries, in Package/Latest/MoltenVK/dynamic/MoltenVK.xcframework.
- Add macro MVK_VERSION_STRING to create version string at compile time,
  use it to validate the CURRENT_PROJECT_VERSION build setting at compile time,
  and use it at runtime instead of mvkGetMoltenVKVersionString() function.
- Add -w to OTHER_LDFLAGS to dynamic framework builds to suppress
  spurious linker warnings of the type
  "ld: warning: no platform load command found in '...', assuming: iOS"
  issued from the new linker introduced in Xcode 15.
- Add MoltenVK-MacCat Xcode target and MoltenVK Package (MacCat only)
  Xcode scheme to avoid building dynamic MoltenVK.framework for the
  Mac Catalyst platform, because Xcode does not support doing so.
- Always run MoltenVK build scripts, to ensure all components are
  added to the XCFrameworks, and MoltenVK/Package is always refreshed,
  even if code compilation is not required.
- Cube demo link to dynamic MoltenVK.framework through
  dynamic/MoltenVK.xcframework, instead of to naked libMoltenVK.dylib.
- Update the version of Volk used by the Cube demo, to support
  loading MoltenVK from dynamic frameworks inside Volk.
- Update README.md and MoltenVK_Runtime_UserGuide.md documents.
- Update MVK_PRIVATE_API_VERSION to 40.
- Fix make install to install /usr/local/lib/libMoltenVK.dylib on macOS (unrelated).
- Remove unused MTLAttributeStrideStatic declaration prior to Xcode 15 (unrelated).
2024-03-05 20:38:35 -05:00

877 lines
32 KiB
Plaintext

// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objects = {
/* Begin PBXAggregateTarget section */
2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 2FEA0A3524902F5E00EEF3AD /* Build configuration list for PBXAggregateTarget "MoltenVK-tvOS" */;
buildPhases = (
2FEA0A3424902F5E00EEF3AD /* Package MoltenVK */,
);
dependencies = (
A9F4D9B62B8EB63E004AD576 /* PBXTargetDependency */,
);
name = "MoltenVK-tvOS";
productName = Package;
};
A91170FD2B9110050057AD37 /* MoltenVK-MacCat */ = {
isa = PBXAggregateTarget;
buildConfigurationList = A91171012B9110050057AD37 /* Build configuration list for PBXAggregateTarget "MoltenVK-MacCat" */;
buildPhases = (
A91171002B9110050057AD37 /* Package MoltenVK */,
);
dependencies = (
A911710D2B9110380057AD37 /* PBXTargetDependency */,
);
name = "MoltenVK-MacCat";
productName = Package;
};
A975D5782140585200D4834F /* MoltenVK-iOS */ = {
isa = PBXAggregateTarget;
buildConfigurationList = A975D5882140585200D4834F /* Build configuration list for PBXAggregateTarget "MoltenVK-iOS" */;
buildPhases = (
A975D5872140585200D4834F /* Package MoltenVK */,
);
dependencies = (
A9F4D99B2B8E8E1D004AD576 /* PBXTargetDependency */,
);
name = "MoltenVK-iOS";
productName = Package;
};
A975D58B2140586700D4834F /* MoltenVK-macOS */ = {
isa = PBXAggregateTarget;
buildConfigurationList = A975D59B2140586700D4834F /* Build configuration list for PBXAggregateTarget "MoltenVK-macOS" */;
buildPhases = (
A975D59A2140586700D4834F /* Package MoltenVK */,
);
dependencies = (
A9F4D9F12B8EC210004AD576 /* PBXTargetDependency */,
);
name = "MoltenVK-macOS";
productName = Package;
};
A9AD700D2440ED3B00B9E254 /* MVKShaderConverterTool */ = {
isa = PBXAggregateTarget;
buildConfigurationList = A9AD70132440ED3B00B9E254 /* Build configuration list for PBXAggregateTarget "MVKShaderConverterTool" */;
buildPhases = (
A9AD70122440ED3B00B9E254 /* Package MoltenVK */,
);
dependencies = (
A9AD70102440ED3B00B9E254 /* PBXTargetDependency */,
);
name = MVKShaderConverterTool;
productName = Package;
};
A9FEADBC1F3517480010240E /* MoltenVK */ = {
isa = PBXAggregateTarget;
buildConfigurationList = A9FEADDC1F3517480010240E /* Build configuration list for PBXAggregateTarget "MoltenVK" */;
buildPhases = (
A9B1008824F84BE400EADC6E /* Package MoltenVK */,
);
dependencies = (
A9F4D9F82B8EC22E004AD576 /* PBXTargetDependency */,
A9F4D9F62B8EC22E004AD576 /* PBXTargetDependency */,
A9F4D9FA2B8EC22E004AD576 /* PBXTargetDependency */,
);
name = MoltenVK;
productName = Package;
};
DCFD7ED52A45BC56007BBBF7 /* MoltenVK-xrOS */ = {
isa = PBXAggregateTarget;
buildConfigurationList = DCFD7ED92A45BC56007BBBF7 /* Build configuration list for PBXAggregateTarget "MoltenVK-xrOS" */;
buildPhases = (
DCFD7ED82A45BC56007BBBF7 /* Package MoltenVK */,
);
dependencies = (
A9F4D9D52B8EBA14004AD576 /* PBXTargetDependency */,
);
name = "MoltenVK-xrOS";
productName = Package;
};
/* End PBXAggregateTarget section */
/* Begin PBXContainerItemProxy section */
2FEA0ABD2490302F00EEF3AD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2FEA0ABA24902F9F00EEF3AD;
remoteInfo = "MoltenVK-tvOS";
};
A911710C2B9110380057AD37 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9B8EE091A98D796009C5A02;
remoteInfo = "MoltenVK-iOS-static";
};
A92DB3F41CE0F72500FBC835 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A9B8EE0A1A98D796009C5A02;
remoteInfo = "MoltenVK-iOS";
};
A92DB3F61CE0F72500FBC835 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A9CBEE011B6299D800E45FDC;
remoteInfo = "MoltenVK-macOS";
};
A97D77552B24FBDF00E36932 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = DCFD7F882A45BDA0007BBBF7;
remoteInfo = "MoltenVKShaderConverter-xrOS";
};
A981498A1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A964BD5F1C57EFBD00D930D8;
remoteInfo = MoltenVKShaderConverter;
};
A98149901FB6B566005F00B4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A93903BF1C57E9D700FE90DC;
remoteInfo = "MoltenVKSPIRVToMSLConverter-iOS";
};
A98149921FB6B566005F00B4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A93903C71C57E9ED00FE90DC;
remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS";
};
A9AD70112440ED3B00B9E254 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9092A8C1A81717B00051823;
remoteInfo = MoltenVKShaderConverter;
};
A9F4D9982B8E8CE0004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A9F4D96B2B8E7366004AD576;
remoteInfo = "MoltenVK-iOS-dynamic";
};
A9F4D99A2B8E8E1D004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9F4D96A2B8E7366004AD576;
remoteInfo = "MoltenVK-iOS-dynamic";
};
A9F4D9B52B8EB63E004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9F4D99E2B8EB2FC004AD576;
remoteInfo = "MoltenVK-tvOS-dynamic";
};
A9F4D9B82B8EB63E004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A9F4D9B22B8EB2FC004AD576;
remoteInfo = "MoltenVK-tvOS-dynamic";
};
A9F4D9D42B8EBA14004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9F4D9BA2B8EB6DC004AD576;
remoteInfo = "MoltenVK-xrOS-dynamic";
};
A9F4D9D72B8EBA14004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A9F4D9CE2B8EB6DC004AD576;
remoteInfo = "MoltenVK-xrOS-dynamic";
};
A9F4D9F02B8EC210004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9F4D9D92B8EC112004AD576;
remoteInfo = "MoltenVK-macOS-dynamic";
};
A9F4D9F32B8EC210004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A9F4D9ED2B8EC112004AD576;
remoteInfo = "MoltenVK-macOS-dynamic";
};
A9F4D9F52B8EC22E004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9F4D96A2B8E7366004AD576;
remoteInfo = "MoltenVK-iOS-dynamic";
};
A9F4D9F72B8EC22E004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9F4D9D92B8EC112004AD576;
remoteInfo = "MoltenVK-macOS-dynamic";
};
A9F4D9F92B8EC22E004AD576 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A9F4D99E2B8EB2FC004AD576;
remoteInfo = "MoltenVK-tvOS-dynamic";
};
A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2FEA0D142490381A00EEF3AD;
remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
};
DCFD7F652A45BC7D007BBBF7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = DCFD7F622A45BC6E007BBBF7;
remoteInfo = "MoltenVK-xrOS";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
A92DB3E41CE0F37D00FBC835 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
A92DB3E51CE0F37D00FBC835 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
A92DB3E61CE0F37D00FBC835 /* Whats_New.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = Whats_New.md; path = Docs/Whats_New.md; sourceTree = "<group>"; };
A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVK.xcodeproj; path = MoltenVK/MoltenVK.xcodeproj; sourceTree = "<group>"; };
A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVKShaderConverter.xcodeproj; path = MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj; sourceTree = "<group>"; };
A92EF7C621856EA200C8B91B /* package_moltenvk.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk.sh; sourceTree = "<group>"; };
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_tool.sh; sourceTree = "<group>"; };
A92EF7C921856EA200C8B91B /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = "<group>"; };
A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = "<group>"; };
A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_xcframework.sh; sourceTree = "<group>"; };
A92EF7DE2186451700C8B91B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = "<group>"; };
A93ED4DE24F59CDB00FEB018 /* copy_lib_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_lib_to_staging.sh; sourceTree = "<group>"; };
A97D77502B24FBDF00E36932 /* MoltenVK_Configuration_Parameters.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = MoltenVK_Configuration_Parameters.md; path = Docs/MoltenVK_Configuration_Parameters.md; sourceTree = "<group>"; };
A980A25F24C628F3007A8F6F /* gen_moltenvk_rev_hdr.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = gen_moltenvk_rev_hdr.sh; sourceTree = "<group>"; };
A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = MoltenVK_Runtime_UserGuide.md; path = Docs/MoltenVK_Runtime_UserGuide.md; sourceTree = "<group>"; };
A9A15AA625D6D884004EEBE9 /* CI.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; name = CI.yml; path = .github/workflows/CI.yml; sourceTree = "<group>"; };
A9B1007A24F837AF00EADC6E /* create_xcframework_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_xcframework_func.sh; sourceTree = "<group>"; };
A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk_xcframework.sh; sourceTree = "<group>"; };
A9DA8341218A198C002AA662 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
A9DDBF8C26827F02005DD991 /* runcts */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = runcts; sourceTree = "<group>"; };
A9F4D8942B8D4F81004AD576 /* copy_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_to_staging.sh; sourceTree = "<group>"; };
A9FC5F60249D2ED3003CB086 /* package_all.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_all.sh; sourceTree = "<group>"; };
A9FE05632B697AE400208814 /* get_failing_cts_tests.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = get_failing_cts_tests.py; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
A90B2B1C1A9B6170008EE819 = {
isa = PBXGroup;
children = (
A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */,
A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */,
A975D55B213F25AD00D4834F /* Scripts */,
A92DB3E11CE0F34500FBC835 /* Docs */,
A9DA833F218A193F002AA662 /* Git */,
A9F4D9582B8E7345004AD576 /* Products */,
);
sourceTree = "<group>";
};
A92DB3E11CE0F34500FBC835 /* Docs */ = {
isa = PBXGroup;
children = (
A92DB3E61CE0F37D00FBC835 /* Whats_New.md */,
A92DB3E41CE0F37D00FBC835 /* README.md */,
A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */,
A97D77502B24FBDF00E36932 /* MoltenVK_Configuration_Parameters.md */,
A92DB3E51CE0F37D00FBC835 /* LICENSE */,
);
name = Docs;
sourceTree = "<group>";
};
A92DB3EF1CE0F72500FBC835 /* Products */ = {
isa = PBXGroup;
children = (
A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */,
A9F4D9F42B8EC210004AD576 /* MoltenVK.framework */,
A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */,
A9F4D9992B8E8CE0004AD576 /* MoltenVK.framework */,
2FEA0ABE2490302F00EEF3AD /* libMoltenVK.a */,
A9F4D9B92B8EB63E004AD576 /* MoltenVK.framework */,
DCFD7F662A45BC7D007BBBF7 /* libMoltenVK.a */,
A9F4D9D82B8EBA14004AD576 /* MoltenVK.framework */,
);
name = Products;
sourceTree = "<group>";
};
A975D55B213F25AD00D4834F /* Scripts */ = {
isa = PBXGroup;
children = (
A9F4D8942B8D4F81004AD576 /* copy_to_staging.sh */,
A93ED4DE24F59CDB00FEB018 /* copy_lib_to_staging.sh */,
A9B1007A24F837AF00EADC6E /* create_xcframework_func.sh */,
A980A25F24C628F3007A8F6F /* gen_moltenvk_rev_hdr.sh */,
A9FE05632B697AE400208814 /* get_failing_cts_tests.py */,
A9FC5F60249D2ED3003CB086 /* package_all.sh */,
A92EF7C921856EA200C8B91B /* package_docs.sh */,
A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */,
A92EF7C621856EA200C8B91B /* package_moltenvk.sh */,
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */,
A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */,
A92EF7CA21856EA200C8B91B /* package_update_latest.sh */,
A9DDBF8C26827F02005DD991 /* runcts */,
A92EF7DE2186451700C8B91B /* Makefile */,
);
path = Scripts;
sourceTree = "<group>";
};
A98149741FB6B565005F00B4 /* Products */ = {
isa = PBXGroup;
children = (
A981498B1FB6B566005F00B4 /* MoltenVKShaderConverter */,
A98149911FB6B566005F00B4 /* libMoltenVKShaderConverter.a */,
A9FC5F5D249D2547003CB086 /* libMoltenVKShaderConverter.a */,
A98149931FB6B566005F00B4 /* libMoltenVKShaderConverter.a */,
A97D77562B24FBDF00E36932 /* libMoltenVKShaderConverter.a */,
);
name = Products;
sourceTree = "<group>";
};
A9DA833F218A193F002AA662 /* Git */ = {
isa = PBXGroup;
children = (
A9DA8341218A198C002AA662 /* .gitignore */,
A9A15AA625D6D884004EEBE9 /* CI.yml */,
);
name = Git;
sourceTree = "<group>";
};
A9F4D9582B8E7345004AD576 /* Products */ = {
isa = PBXGroup;
children = (
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXProject section */
A90B2B1D1A9B6170008EE819 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1400;
TargetAttributes = {
A9FEADBC1F3517480010240E = {
DevelopmentTeam = VU3TCKU48B;
};
};
};
buildConfigurationList = A90B2B201A9B6170008EE819 /* Build configuration list for PBXProject "MoltenVKPackaging" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = A90B2B1C1A9B6170008EE819;
productRefGroup = A9F4D9582B8E7345004AD576 /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = A92DB3EF1CE0F72500FBC835 /* Products */;
ProjectRef = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
},
{
ProductGroup = A98149741FB6B565005F00B4 /* Products */;
ProjectRef = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
},
);
projectRoot = "";
targets = (
A9FEADBC1F3517480010240E /* MoltenVK */,
A975D5782140585200D4834F /* MoltenVK-iOS */,
2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */,
A975D58B2140586700D4834F /* MoltenVK-macOS */,
DCFD7ED52A45BC56007BBBF7 /* MoltenVK-xrOS */,
A91170FD2B9110050057AD37 /* MoltenVK-MacCat */,
A9AD700D2440ED3B00B9E254 /* MVKShaderConverterTool */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
2FEA0ABE2490302F00EEF3AD /* libMoltenVK.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVK.a;
remoteRef = 2FEA0ABD2490302F00EEF3AD /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVK.a;
remoteRef = A92DB3F41CE0F72500FBC835 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVK.a;
remoteRef = A92DB3F61CE0F72500FBC835 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A97D77562B24FBDF00E36932 /* libMoltenVKShaderConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVKShaderConverter.a;
remoteRef = A97D77552B24FBDF00E36932 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A981498B1FB6B566005F00B4 /* MoltenVKShaderConverter */ = {
isa = PBXReferenceProxy;
fileType = "compiled.mach-o.executable";
path = MoltenVKShaderConverter;
remoteRef = A981498A1FB6B566005F00B4 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A98149911FB6B566005F00B4 /* libMoltenVKShaderConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVKShaderConverter.a;
remoteRef = A98149901FB6B566005F00B4 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A98149931FB6B566005F00B4 /* libMoltenVKShaderConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVKShaderConverter.a;
remoteRef = A98149921FB6B566005F00B4 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A9F4D9992B8E8CE0004AD576 /* MoltenVK.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = MoltenVK.framework;
remoteRef = A9F4D9982B8E8CE0004AD576 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A9F4D9B92B8EB63E004AD576 /* MoltenVK.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = MoltenVK.framework;
remoteRef = A9F4D9B82B8EB63E004AD576 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A9F4D9D82B8EBA14004AD576 /* MoltenVK.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = MoltenVK.framework;
remoteRef = A9F4D9D72B8EBA14004AD576 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A9F4D9F42B8EC210004AD576 /* MoltenVK.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = MoltenVK.framework;
remoteRef = A9F4D9F32B8EC210004AD576 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A9FC5F5D249D2547003CB086 /* libMoltenVKShaderConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVKShaderConverter.a;
remoteRef = A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
DCFD7F662A45BC7D007BBBF7 /* libMoltenVK.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVK.a;
remoteRef = DCFD7F652A45BC7D007BBBF7 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXShellScriptBuildPhase section */
2FEA0A3424902F5E00EEF3AD /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${BUILD_DIR}/XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
};
A91171002B9110050057AD37 /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${BUILD_DIR}/XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
};
A975D5872140585200D4834F /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${BUILD_DIR}/XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
};
A975D59A2140586700D4834F /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${BUILD_DIR}/XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n";
};
A9AD70122440ED3B00B9E254 /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${BUILD_DIR}/XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n. \"${SRCROOT}/Scripts/package_update_latest.sh\"\n";
};
A9B1008824F84BE400EADC6E /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${BUILD_DIR}/XCFrameworkStaging",
);
name = "Package MoltenVK";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n\n";
};
DCFD7ED82A45BC56007BBBF7 /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${BUILD_DIR}/XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXTargetDependency section */
A911710D2B9110380057AD37 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-iOS-static";
targetProxy = A911710C2B9110380057AD37 /* PBXContainerItemProxy */;
};
A9AD70102440ED3B00B9E254 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = MoltenVKShaderConverter;
targetProxy = A9AD70112440ED3B00B9E254 /* PBXContainerItemProxy */;
};
A9F4D99B2B8E8E1D004AD576 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-iOS-dynamic";
targetProxy = A9F4D99A2B8E8E1D004AD576 /* PBXContainerItemProxy */;
};
A9F4D9B62B8EB63E004AD576 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-tvOS-dynamic";
targetProxy = A9F4D9B52B8EB63E004AD576 /* PBXContainerItemProxy */;
};
A9F4D9D52B8EBA14004AD576 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-xrOS-dynamic";
targetProxy = A9F4D9D42B8EBA14004AD576 /* PBXContainerItemProxy */;
};
A9F4D9F12B8EC210004AD576 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-macOS-dynamic";
targetProxy = A9F4D9F02B8EC210004AD576 /* PBXContainerItemProxy */;
};
A9F4D9F62B8EC22E004AD576 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-iOS-dynamic";
targetProxy = A9F4D9F52B8EC22E004AD576 /* PBXContainerItemProxy */;
};
A9F4D9F82B8EC22E004AD576 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-macOS-dynamic";
targetProxy = A9F4D9F72B8EC22E004AD576 /* PBXContainerItemProxy */;
};
A9F4D9FA2B8EC22E004AD576 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-tvOS-dynamic";
targetProxy = A9F4D9F92B8EC22E004AD576 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
2FEA0A3624902F5E00EEF3AD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
2FEA0A3724902F5E00EEF3AD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
A90B2B211A9B6170008EE819 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING = YES;
};
name = Debug;
};
A90B2B221A9B6170008EE819 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING = YES;
};
name = Release;
};
A91171022B9110050057AD37 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
A91171032B9110050057AD37 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
A975D5892140585200D4834F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
A975D58A2140585200D4834F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
A975D59C2140586700D4834F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
A975D59D2140586700D4834F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
A9AD70142440ED3B00B9E254 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
A9AD70152440ED3B00B9E254 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
A9FEADDD1F3517480010240E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
A9FEADDE1F3517480010240E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
DCFD7EDA2A45BC56007BBBF7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
DCFD7EDB2A45BC56007BBBF7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
2FEA0A3524902F5E00EEF3AD /* Build configuration list for PBXAggregateTarget "MoltenVK-tvOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2FEA0A3624902F5E00EEF3AD /* Debug */,
2FEA0A3724902F5E00EEF3AD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A90B2B201A9B6170008EE819 /* Build configuration list for PBXProject "MoltenVKPackaging" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A90B2B211A9B6170008EE819 /* Debug */,
A90B2B221A9B6170008EE819 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A91171012B9110050057AD37 /* Build configuration list for PBXAggregateTarget "MoltenVK-MacCat" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A91171022B9110050057AD37 /* Debug */,
A91171032B9110050057AD37 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A975D5882140585200D4834F /* Build configuration list for PBXAggregateTarget "MoltenVK-iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A975D5892140585200D4834F /* Debug */,
A975D58A2140585200D4834F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A975D59B2140586700D4834F /* Build configuration list for PBXAggregateTarget "MoltenVK-macOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A975D59C2140586700D4834F /* Debug */,
A975D59D2140586700D4834F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A9AD70132440ED3B00B9E254 /* Build configuration list for PBXAggregateTarget "MVKShaderConverterTool" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A9AD70142440ED3B00B9E254 /* Debug */,
A9AD70152440ED3B00B9E254 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A9FEADDC1F3517480010240E /* Build configuration list for PBXAggregateTarget "MoltenVK" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A9FEADDD1F3517480010240E /* Debug */,
A9FEADDE1F3517480010240E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
DCFD7ED92A45BC56007BBBF7 /* Build configuration list for PBXAggregateTarget "MoltenVK-xrOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
DCFD7EDA2A45BC56007BBBF7 /* Debug */,
DCFD7EDB2A45BC56007BBBF7 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = A90B2B1D1A9B6170008EE819 /* Project object */;
}