Create macOS libMoltenVK.dylib directly from Xcode.

Previously, libMoltenVK.dylib was created by copying and renaming
the binary from MoltenVK.framework, but this resulted in an unsigned
dylib that was not loadable.

- Create signed macOS libMoltenVK.dylib directly from Xcode.
- Refactor package_moltenvk.sh into package_dylibs.sh & package_headers.sh.
- Remove unused non-packaging Xcode schemes (unrelated).
This commit is contained in:
Bill Hollings 2024-03-07 14:50:26 -05:00
parent 5d21869b6d
commit 802470b5a8
15 changed files with 234 additions and 606 deletions

View File

@ -285,6 +285,15 @@
A966A5E023C535D000BBF9B4 /* MVKDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A966A5DC23C535D000BBF9B4 /* MVKDescriptor.h */; };
A966A5E123C535D000BBF9B4 /* MVKDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = A966A5DE23C535D000BBF9B4 /* MVKDescriptor.mm */; };
A966A5E223C535D000BBF9B4 /* MVKDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = A966A5DE23C535D000BBF9B4 /* MVKDescriptor.mm */; };
A979A9562B9A22CB00F69E67 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9CBEE011B6299D800E45FDC /* libMoltenVK.a */; };
A979A9672B9A277000F69E67 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4D9FB2B8ECACF004AD576 /* AppKit.framework */; };
A979A9682B9A277000F69E67 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4D9892B8E7D18004AD576 /* CoreGraphics.framework */; };
A979A9692B9A277000F69E67 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4D98B2B8E7D3A004AD576 /* Foundation.framework */; };
A979A96A2B9A277000F69E67 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4D98F2B8E7D66004AD576 /* IOKit.framework */; };
A979A96B2B9A277000F69E67 /* IOSurface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4D98D2B8E7D5D004AD576 /* IOSurface.framework */; };
A979A96C2B9A277000F69E67 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4D9932B8E7E8A004AD576 /* libc++.tbd */; };
A979A96D2B9A277000F69E67 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4D9852B8E7CDB004AD576 /* Metal.framework */; };
A979A96E2B9A277000F69E67 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4D9872B8E7D10004AD576 /* QuartzCore.framework */; };
A981494D1FB6A3F7005F00B4 /* MVKBaseObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = A98149411FB6A3F7005F00B4 /* MVKBaseObject.mm */; };
A981494E1FB6A3F7005F00B4 /* MVKBaseObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = A98149411FB6A3F7005F00B4 /* MVKBaseObject.mm */; };
A981494F1FB6A3F7005F00B4 /* MVKBaseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149421FB6A3F7005F00B4 /* MVKBaseObject.h */; };
@ -558,13 +567,20 @@
remoteGlobalIDString = 2FEA0D142490381A00EEF3AD;
remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
};
A979A9172B924B9700F69E67 /* PBXContainerItemProxy */ = {
A979A9532B9A215200F69E67 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A979A9152B9174EA00F69E67;
remoteGlobalIDString = A979A9412B9A200400F69E67;
remoteInfo = "MoltenVKShaderConverter-xrOS";
};
A979A9572B9A22CB00F69E67 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A9F55D25198BE6A7004EC31B /* Project object */;
proxyType = 1;
remoteGlobalIDString = A9CBED861B6299D800E45FDC;
remoteInfo = "MoltenVK-macOS-static";
};
A981497B1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
@ -723,6 +739,7 @@
A9653FB924129C84005999D7 /* MVKPixelFormats.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKPixelFormats.mm; sourceTree = "<group>"; };
A966A5DC23C535D000BBF9B4 /* MVKDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKDescriptor.h; sourceTree = "<group>"; };
A966A5DE23C535D000BBF9B4 /* MVKDescriptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKDescriptor.mm; sourceTree = "<group>"; };
A979A94F2B9A215200F69E67 /* libMoltenVK.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libMoltenVK.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
A98149411FB6A3F7005F00B4 /* MVKBaseObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKBaseObject.mm; sourceTree = "<group>"; };
A98149421FB6A3F7005F00B4 /* MVKBaseObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKBaseObject.h; sourceTree = "<group>"; };
A98149431FB6A3F7005F00B4 /* MVKEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKEnvironment.h; sourceTree = "<group>"; };
@ -791,6 +808,22 @@
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
A979A94D2B9A215200F69E67 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
A979A96B2B9A277000F69E67 /* IOSurface.framework in Frameworks */,
A979A96C2B9A277000F69E67 /* libc++.tbd in Frameworks */,
A979A9682B9A277000F69E67 /* CoreGraphics.framework in Frameworks */,
A979A9562B9A22CB00F69E67 /* libMoltenVK.a in Frameworks */,
A979A9672B9A277000F69E67 /* AppKit.framework in Frameworks */,
A979A96A2B9A277000F69E67 /* IOKit.framework in Frameworks */,
A979A96D2B9A277000F69E67 /* Metal.framework in Frameworks */,
A979A9692B9A277000F69E67 /* Foundation.framework in Frameworks */,
A979A96E2B9A277000F69E67 /* QuartzCore.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A9F4D9682B8E7366004AD576 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -1026,7 +1059,7 @@
A98149821FB6B566005F00B4 /* libMoltenVKShaderConverter.a */,
2FEA0D1C249040CA00EEF3AD /* libMoltenVKShaderConverter.a */,
A98149841FB6B566005F00B4 /* libMoltenVKShaderConverter.a */,
A979A9182B924B9700F69E67 /* libMoltenVKShaderConverter.a */,
A979A9542B9A215200F69E67 /* libMoltenVKShaderConverter.a */,
);
name = Products;
sourceTree = "<group>";
@ -1118,6 +1151,7 @@
A9F4D9B22B8EB2FC004AD576 /* MoltenVK.framework */,
A9F4D9CE2B8EB6DC004AD576 /* MoltenVK.framework */,
A9F4D9ED2B8EC112004AD576 /* MoltenVK.framework */,
A979A94F2B9A215200F69E67 /* libMoltenVK.dylib */,
);
name = Products;
sourceTree = "<group>";
@ -1203,6 +1237,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
A979A94B2B9A215200F69E67 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
A9B8EE071A98D796009C5A02 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -1489,6 +1530,24 @@
productReference = 2FEA0ABA24902F9F00EEF3AD /* libMoltenVK.a */;
productType = "com.apple.product-type.library.static";
};
A979A94E2B9A215200F69E67 /* MoltenVK-macOS-dylib */ = {
isa = PBXNativeTarget;
buildConfigurationList = A979A9552B9A215200F69E67 /* Build configuration list for PBXNativeTarget "MoltenVK-macOS-dylib" */;
buildPhases = (
A979A94B2B9A215200F69E67 /* Headers */,
A979A94C2B9A215200F69E67 /* Sources */,
A979A94D2B9A215200F69E67 /* Frameworks */,
);
buildRules = (
);
dependencies = (
A979A9582B9A22CB00F69E67 /* PBXTargetDependency */,
);
name = "MoltenVK-macOS-dylib";
productName = "MoltenVK-macOS-dylib";
productReference = A979A94F2B9A215200F69E67 /* libMoltenVK.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
A9B8EE091A98D796009C5A02 /* MoltenVK-iOS-static */ = {
isa = PBXNativeTarget;
buildConfigurationList = A9B8EE1D1A98D796009C5A02 /* Build configuration list for PBXNativeTarget "MoltenVK-iOS-static" */;
@ -1635,6 +1694,9 @@
LastUpgradeCheck = 1410;
ORGANIZATIONNAME = "The Brenwill Workshop Ltd.";
TargetAttributes = {
A979A94E2B9A215200F69E67 = {
CreatedOnToolsVersion = 15.2;
};
A9B8EE091A98D796009C5A02 = {
CreatedOnToolsVersion = 6.1.1;
DevelopmentTeam = VU3TCKU48B;
@ -1667,6 +1729,7 @@
projectRoot = "";
targets = (
A9CBED861B6299D800E45FDC /* MoltenVK-macOS-static */,
A979A94E2B9A215200F69E67 /* MoltenVK-macOS-dylib */,
A9F4D9D92B8EC112004AD576 /* MoltenVK-macOS-dynamic */,
A9B8EE091A98D796009C5A02 /* MoltenVK-iOS-static */,
A9F4D96A2B8E7366004AD576 /* MoltenVK-iOS-dynamic */,
@ -1686,13 +1749,12 @@
remoteRef = 2FEA0D1B249040CA00EEF3AD /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A979A9182B924B9700F69E67 /* libMoltenVKShaderConverter.a */ = {
A979A9542B9A215200F69E67 /* libMoltenVKShaderConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
name = libMoltenVKShaderConverter.a;
path = "/Users/bill/Documents/Dev/iOSProjects/Molten/MoltenVK-bh/MoltenVKShaderConverter/build/Debug-xros/libMoltenVKShaderConverter.a";
remoteRef = A979A9172B924B9700F69E67 /* PBXContainerItemProxy */;
sourceTree = "<absolute>";
path = libMoltenVKShaderConverter.a;
remoteRef = A979A9532B9A215200F69E67 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A981497C1FB6B566005F00B4 /* MoltenVKShaderConverter */ = {
isa = PBXReferenceProxy;
@ -2047,6 +2109,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
A979A94C2B9A215200F69E67 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
A9B8EE051A98D796009C5A02 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -2265,6 +2334,11 @@
name = "MoltenVKSPIRVToMSLConverter-tvOS";
targetProxy = 2F21D82E24983488009BEA5F /* PBXContainerItemProxy */;
};
A979A9582B9A22CB00F69E67 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = A9CBED861B6299D800E45FDC /* MoltenVK-macOS-static */;
targetProxy = A979A9572B9A22CB00F69E67 /* PBXContainerItemProxy */;
};
A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MVKSPIRVToMSLConverter-iOS";
@ -2317,6 +2391,32 @@
};
name = Release;
};
A979A9502B9A215200F69E67 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
EXECUTABLE_PREFIX = lib;
LD_DYLIB_INSTALL_NAME = "@rpath/lib${PRODUCT_NAME}.dylib";
OTHER_LDFLAGS = (
"-all_load",
"-w",
);
SDKROOT = macosx;
};
name = Debug;
};
A979A9512B9A215200F69E67 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
EXECUTABLE_PREFIX = lib;
LD_DYLIB_INSTALL_NAME = "@rpath/lib${PRODUCT_NAME}.dylib";
OTHER_LDFLAGS = (
"-all_load",
"-w",
);
SDKROOT = macosx;
};
name = Release;
};
A9B8EE1E1A98D796009C5A02 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -2349,6 +2449,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GENERATE_INFOPLIST_FILE = YES;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
OTHER_LDFLAGS = (
"-all_load",
"-w",
@ -2361,6 +2462,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GENERATE_INFOPLIST_FILE = YES;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
OTHER_LDFLAGS = (
"-all_load",
"-w",
@ -2373,6 +2475,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GENERATE_INFOPLIST_FILE = YES;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
OTHER_LDFLAGS = (
"-all_load",
"-w",
@ -2385,6 +2488,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GENERATE_INFOPLIST_FILE = YES;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
OTHER_LDFLAGS = (
"-all_load",
"-w",
@ -2397,6 +2501,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GENERATE_INFOPLIST_FILE = YES;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
OTHER_LDFLAGS = (
"-all_load",
"-w",
@ -2409,6 +2514,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GENERATE_INFOPLIST_FILE = YES;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
OTHER_LDFLAGS = (
"-all_load",
"-w",
@ -2421,6 +2527,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GENERATE_INFOPLIST_FILE = YES;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
OTHER_LDFLAGS = (
"-all_load",
"-w",
@ -2433,6 +2540,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GENERATE_INFOPLIST_FILE = YES;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
OTHER_LDFLAGS = (
"-all_load",
"-w",
@ -2500,7 +2608,6 @@
"\"${BUILT_PRODUCTS_DIR}\"",
);
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
MACOSX_DEPLOYMENT_TARGET = 10.13;
MARKETING_VERSION = "${CURRENT_PROJECT_VERSION}";
MTL_ENABLE_DEBUG_INFO = YES;
@ -2576,7 +2683,6 @@
"\"${BUILT_PRODUCTS_DIR}\"",
);
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_DYLIB_INSTALL_NAME = "@rpath/${PRODUCT_NAME}.framework/${PRODUCT_NAME}";
MACOSX_DEPLOYMENT_TARGET = 10.13;
MARKETING_VERSION = "${CURRENT_PROJECT_VERSION}";
MTL_ENABLE_DEBUG_INFO = NO;
@ -2618,6 +2724,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A979A9552B9A215200F69E67 /* Build configuration list for PBXNativeTarget "MoltenVK-macOS-dylib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A979A9502B9A215200F69E67 /* Debug */,
A979A9512B9A215200F69E67 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A9B8EE1D1A98D796009C5A02 /* Build configuration list for PBXNativeTarget "MoltenVK-iOS-static" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A9F4D96A2B8E7366004AD576"
BuildableName = "MoltenVK.framework"
BlueprintName = "MoltenVK-iOS-dynamic"
ReferencedContainer = "container:MoltenVK.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
disableMainThreadChecker = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugXPCServices = "NO"
debugServiceExtension = "internal"
enableGPUFrameCaptureMode = "3"
enableGPUValidationMode = "1"
allowLocationSimulation = "NO"
queueDebuggingEnabled = "No">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A9F4D9D92B8EC112004AD576"
BuildableName = "MoltenVK.framework"
BlueprintName = "MoltenVK-macOS-dynamic"
ReferencedContainer = "container:MoltenVK.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
disableMainThreadChecker = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "NO"
debugXPCServices = "NO"
debugServiceExtension = "internal"
enableGPUFrameCaptureMode = "3"
enableGPUValidationMode = "1"
allowLocationSimulation = "NO"
queueDebuggingEnabled = "No">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,58 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A9F4D99E2B8EB2FC004AD576"
BuildableName = "MoltenVK.framework"
BlueprintName = "MoltenVK-tvOS-dynamic"
ReferencedContainer = "container:MoltenVK.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,57 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A9F4D9BA2B8EB6DC004AD576"
BuildableName = "MoltenVK.framework"
BlueprintName = "MoltenVK-xrOS-dynamic"
ReferencedContainer = "container:MoltenVK.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -50,6 +50,7 @@
A975D59A2140586700D4834F /* Package MoltenVK */,
);
dependencies = (
A979A95A2B9A232800F69E67 /* PBXTargetDependency */,
A9F4D9F12B8EC210004AD576 /* PBXTargetDependency */,
);
name = "MoltenVK-macOS";
@ -74,6 +75,7 @@
A9B1008824F84BE400EADC6E /* Package MoltenVK */,
);
dependencies = (
A979A9662B9A233C00F69E67 /* PBXTargetDependency */,
A9F4D9F82B8EC22E004AD576 /* PBXTargetDependency */,
A9F4D9F62B8EC22E004AD576 /* PBXTargetDependency */,
A9F4D9FA2B8EC22E004AD576 /* PBXTargetDependency */,
@ -124,6 +126,27 @@
remoteGlobalIDString = A9CBEE011B6299D800E45FDC;
remoteInfo = "MoltenVK-macOS";
};
A979A9592B9A232800F69E67 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A979A94E2B9A215200F69E67;
remoteInfo = "MoltenVK-macOS-dylib";
};
A979A95F2B9A232800F69E67 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A979A94F2B9A215200F69E67;
remoteInfo = "MoltenVK-macOS-dylib";
};
A979A9652B9A233C00F69E67 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = A979A94E2B9A215200F69E67;
remoteInfo = "MoltenVK-macOS-dylib";
};
A97D77552B24FBDF00E36932 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
@ -253,19 +276,19 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
279BD8642B7FAE0A0021CE70 /* create_dylib_xros.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_xros.sh; sourceTree = "<group>"; };
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>"; };
A92EF7C621856EA200C8B91B /* package_headers.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_headers.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>"; };
A979A9702B9A3D7900F69E67 /* package_dylibs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_dylibs.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>"; };
@ -308,6 +331,7 @@
isa = PBXGroup;
children = (
A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */,
A979A9602B9A232800F69E67 /* libMoltenVK.dylib */,
A9F4D9F42B8EC210004AD576 /* MoltenVK.framework */,
A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */,
A9F4D9992B8E8CE0004AD576 /* MoltenVK.framework */,
@ -329,8 +353,9 @@
A9FE05632B697AE400208814 /* get_failing_cts_tests.py */,
A9FC5F60249D2ED3003CB086 /* package_all.sh */,
A92EF7C921856EA200C8B91B /* package_docs.sh */,
A979A9702B9A3D7900F69E67 /* package_dylibs.sh */,
A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */,
A92EF7C621856EA200C8B91B /* package_moltenvk.sh */,
A92EF7C621856EA200C8B91B /* package_headers.sh */,
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */,
A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */,
A92EF7CA21856EA200C8B91B /* package_update_latest.sh */,
@ -437,6 +462,13 @@
remoteRef = A92DB3F61CE0F72500FBC835 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A979A9602B9A232800F69E67 /* libMoltenVK.dylib */ = {
isa = PBXReferenceProxy;
fileType = "compiled.mach-o.dylib";
path = libMoltenVK.dylib;
remoteRef = A979A95F2B9A232800F69E67 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A97D77562B24FBDF00E36932 /* libMoltenVKShaderConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
@ -641,6 +673,16 @@
name = "MoltenVK-iOS-static";
targetProxy = A911710C2B9110380057AD37 /* PBXContainerItemProxy */;
};
A979A95A2B9A232800F69E67 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-macOS-dylib";
targetProxy = A979A9592B9A232800F69E67 /* PBXContainerItemProxy */;
};
A979A9662B9A233C00F69E67 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-macOS-dylib";
targetProxy = A979A9652B9A233C00F69E67 /* PBXContainerItemProxy */;
};
A9AD70102440ED3B00B9E254 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = MoltenVKShaderConverter;

View File

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903B81C57E9D700FE90DC"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-iOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
disableMainThreadChecker = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugXPCServices = "NO"
debugServiceExtension = "internal"
enableGPUFrameCaptureMode = "3"
enableGPUValidationMode = "1"
allowLocationSimulation = "NO"
queueDebuggingEnabled = "No">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903B81C57E9D700FE90DC"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-iOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903B81C57E9D700FE90DC"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-iOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903C01C57E9ED00FE90DC"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-macOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
disableMainThreadChecker = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "NO"
debugXPCServices = "NO"
debugServiceExtension = "internal"
enableGPUFrameCaptureMode = "3"
enableGPUValidationMode = "1"
allowLocationSimulation = "NO"
queueDebuggingEnabled = "No">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903C01C57E9ED00FE90DC"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-macOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903C01C57E9ED00FE90DC"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-macOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2FEA0CFF2490381A00EEF3AD"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-tvOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2FEA0CFF2490381A00EEF3AD"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-tvOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DCFD7F6F2A45BDA0007BBBF7"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-xrOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DCFD7F6F2A45BDA0007BBBF7"
BuildableName = "libMoltenVKShaderConverter.a"
BlueprintName = "MoltenVKShaderConverter-xrOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,8 +1,9 @@
#!/bin/bash
. "${SRCROOT}/Scripts/package_moltenvk.sh"
. "${SRCROOT}/Scripts/package_moltenvk_xcframework.sh"
. "${SRCROOT}/Scripts/package_shader_converter_xcframework.sh"
. "${SRCROOT}/Scripts/package_dylibs.sh"
. "${SRCROOT}/Scripts/package_headers.sh"
. "${SRCROOT}/Scripts/package_docs.sh"
. "${SRCROOT}/Scripts/package_update_latest.sh"

47
Scripts/package_dylibs.sh Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
set -e
# Copy dylibs only if the source file exists.
#
# Takes 2 parameters:
# 1 - source build path OS suffix (aka EFFECTIVE_PLATFORM_NAME during build)
# 2 - destination path OS directory name
function copy_dylib() {
file_name="lib${mvk_prod_name}.dylib"
src_dir="${BUILT_PRODUCTS_DIR}"
src_file="${src_dir}/${file_name}"
dst_dir="${mvk_pkg_prod_path}/dynamic/dylib/${2}"
# If dylib file exists, copy it, any debug symbol file, and the Vulkan layer JSON file
if [[ -e "${src_file}" ]]; then
rm -rf "${dst_dir}"
mkdir -p "${dst_dir}"
cp -p "${src_file}" "${dst_dir}/"
src_file+=".dSYM"
if [[ -e "${src_file}" ]]; then
cp -a "${src_file}" "${dst_dir}/"
fi
cp -a "${mvk_prod_proj_path}/icd/${mvk_prod_name}_icd.json" "${dst_dir}"
fi
}
mvk_prod_name="MoltenVK"
mvk_prod_proj_path="${PROJECT_DIR}/${mvk_prod_name}"
mvk_pkg_prod_path="${PROJECT_DIR}/Package/${CONFIGURATION}/${mvk_prod_name}"
# Make sure directory is there
mkdir -p "${mvk_pkg_prod_path}"
# App store distribution does not support naked dylibs, so only include a naked dylib for macOS.
copy_dylib "" "macOS"
#copy_dylib "-iphoneos" "iOS"
#copy_dylib "-iphonesimulator" "iOS-simulator"
#copy_dylib "-appletvos" "tvOS"
#copy_dylib "-appletvsimulator" "tvOS-simulator"
#copy_dylib "-xrvos" "xrOS"
#copy_dylib "-xrsimulator" "xrOS-simulator"

14
Scripts/package_headers.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
set -e
mvk_prod_name="MoltenVK"
mvk_prod_proj_path="${PROJECT_DIR}/${mvk_prod_name}"
mvk_pkg_prod_path="${PROJECT_DIR}/Package/${CONFIGURATION}/${mvk_prod_name}"
# Make sure directory is there in case no dylibs are created for this platform
mkdir -p "${mvk_pkg_prod_path}"
# Remove and replace header include folder
rm -rf "${mvk_pkg_prod_path}/include"
cp -pRL "${mvk_prod_proj_path}/include" "${mvk_pkg_prod_path}/"

View File

@ -1,54 +0,0 @@
#!/bin/bash
set -e
# Copy dylibs only if the source file exists.
#
# Takes 2 parameters:
# 1 - source build path OS suffix (aka EFFECTIVE_PLATFORM_NAME during build)
# 2 - destination path OS directory name
function copy_dylib() {
src_dir="${BUILD_DIR}/XCFrameworkStaging/${CONFIGURATION}/Platform${1}/${MVK_PROD_NAME}.framework"
src_file_name="${MVK_PROD_NAME}"
dst_dir="${MVK_PKG_PROD_PATH}/dynamic/dylib/${2}"
dst_file_name="lib${MVK_PROD_NAME}.dylib"
# If dylib file exists, copy it, any debug symbol file, and the Vulkan layer JSON file
src_file="${src_dir}/${src_file_name}"
if [[ -e "${src_file}" ]]; then
rm -rf "${dst_dir}"
mkdir -p "${dst_dir}"
cp -p "${src_file}" "${dst_dir}/${dst_file_name}"
install_name_tool -id "@rpath/${dst_file_name}" "${dst_dir}/${dst_file_name}"
src_file+=".dSYM"
if [[ -e "${src_file}" ]]; then
cp -a "${src_file}" "${dst_dir}/${dst_file_name}.dSYM"
fi
cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_PROD_NAME}_icd.json" "${dst_dir}"
fi
}
export MVK_PROD_NAME="MoltenVK"
export MVK_PROD_PROJ_PATH="${PROJECT_DIR}/${MVK_PROD_NAME}"
export MVK_PKG_PROD_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}"
# Make sure directory is there in case no dylibs are created for this platform
mkdir -p "${MVK_PKG_PROD_PATH}"
# App store distribution does not support naked dylibs, so only include a naked dylib for macOS.
copy_dylib "" "macOS"
#copy_dylib "-iphoneos" "iOS"
#copy_dylib "-iphonesimulator" "iOS-simulator"
#copy_dylib "-appletvos" "tvOS"
#copy_dylib "-appletvsimulator" "tvOS-simulator"
#copy_dylib "-xrvos" "xrOS"
#copy_dylib "-xrsimulator" "xrOS-simulator"
# Remove and replace header include folder
rm -rf "${MVK_PKG_PROD_PATH}/include"
cp -pRL "${MVK_PROD_PROJ_PATH}/include" "${MVK_PKG_PROD_PATH}"

View File

@ -4,7 +4,7 @@ set -e
. "${PROJECT_DIR}/Scripts/create_xcframework_func.sh"
export prod_name="MoltenVK"
prod_name="MoltenVK"
export MVK_XCFWK_STAGING_DIR="${BUILD_DIR}/XCFrameworkStaging"
# Assemble the headers