diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj index f6e302d0..992d96ca 100644 --- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj +++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj @@ -27,12 +27,6 @@ A964BD3E1E4EA6FC00CA9AF1 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC611E4EA6FC00CA9AF1 /* util.cpp */; }; A964BD3F1E4EA6FC00CA9AF1 /* util_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */; }; A964BD401E4EA6FC00CA9AF1 /* util_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */; }; - A9B5D09C1CF8830B00D7CBDD /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D09B1CF8830B00D7CBDD /* libc++.tbd */; }; - A9B5D09E1CF8831400D7CBDD /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D09D1CF8831400D7CBDD /* libc++.tbd */; }; - A9B5D0A01CF8834600D7CBDD /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D09F1CF8834600D7CBDD /* MoltenVK.framework */; }; - A9B5D0A21CF8835500D7CBDD /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D0A11CF8835500D7CBDD /* MoltenVK.framework */; }; - A9B5D0A41CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D0A31CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */; }; - A9B5D0A61CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D0A51CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */; }; A9B67B781C3AAE9800373FFD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; }; A9B67B7A1C3AAE9800373FFD /* DemoViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.mm */; }; A9B67B7C1C3AAE9800373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; }; @@ -45,23 +39,15 @@ A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; }; A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; }; A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; }; + A9C2ABA2218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; }; + A9C2ABA3218505B000DDBC03 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */; }; + A9C2ABA6218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; }; + A9C2ABA7218505CB00DDBC03 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* API-Samples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "API-Samples.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - A900B1A21B5EAA1C00150D60 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; }; - A90941BB1C582DF40094110D /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../../../../../../Library/Developer/Xcode/DerivedData/VulkanSamples-emusmkeclqfwfncmwqpcvdzumhpu/Build/Products/Release/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = ""; }; - A9096E4E1F7EF10300DFBEA6 /* IOSurface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOSurface.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/IOSurface.framework; sourceTree = DEVELOPER_DIR; }; A92F37071C7E1B2B008F8BC9 /* Samples.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Samples.h; sourceTree = ""; }; - A92F3CED1C7E5E9D008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenShaderConverter/build/Debug/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; - A92F3CEF1C7E5EB5008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenShaderConverter/build/Debug/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; - A92F3CF11C7E5EBF008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = ""; }; - A94A67231B7BDE9B00F6D7C4 /* MetalGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalGL.framework; path = ../../MetalGL/macOS/MetalGL.framework; sourceTree = ""; }; - A94A67241B7BDE9B00F6D7C4 /* MetalGLShaderConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalGLShaderConverter.framework; path = ../../MetalGLShaderConverter/macOS/MetalGLShaderConverter.framework; sourceTree = ""; }; A95C05021C98FC1100CC653D /* blue.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = blue.ppm; sourceTree = ""; }; A95C05031C98FC1100CC653D /* cube_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cube_data.h; sourceTree = ""; }; A95C05041C98FC1100CC653D /* green.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = green.ppm; sourceTree = ""; }; @@ -71,8 +57,6 @@ A95C05081C98FC1100CC653D /* red.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = red.ppm; sourceTree = ""; }; A95C05091C98FC1100CC653D /* spotlight.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = spotlight.ppm; sourceTree = ""; }; A95C050A1C98FC1100CC653D /* yellow.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = yellow.ppm; sourceTree = ""; }; - A95C07051C98FDB800CC653D /* MoltenSPIRVToMSLConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenSPIRVToMSLConverter.framework; path = "../../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenSPIRVToMSLConverter.framework"; sourceTree = ""; }; - A95C07071C98FDD400CC653D /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../../../../../../../Library/Developer/Xcode/DerivedData/LunarGSamples-csovmpqhztbhjscdjbysjxxoqgvu/Build/Products/Debug/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = ""; }; A964BAF11E4E95E500CA9AF1 /* copy_blit_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_blit_image.cpp; sourceTree = ""; }; A964BAF51E4E968F00CA9AF1 /* 15-draw_cube.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "15-draw_cube.cpp"; sourceTree = ""; }; A964BAF91E4E96B400CA9AF1 /* draw_subpasses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_subpasses.cpp; sourceTree = ""; }; @@ -106,18 +90,6 @@ A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util_init.cpp; sourceTree = ""; }; A964BC641E4EA6FC00CA9AF1 /* util_init.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = util_init.hpp; sourceTree = ""; }; A977BCFE1B66BB010067E5BF /* API-Samples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "API-Samples.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - A977BD211B67186B0067E5BF /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; - A977BD221B67186B0067E5BF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; - A977BD231B67186B0067E5BF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - A977BD251B67186B0067E5BF /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Metal.framework; sourceTree = DEVELOPER_DIR; }; - A977BD261B67186B0067E5BF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - A9A222171B5D69F40050A5F9 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; }; - A9B5D09B1CF8830B00D7CBDD /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; - A9B5D09D1CF8831400D7CBDD /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libc++.tbd"; sourceTree = DEVELOPER_DIR; }; - A9B5D09F1CF8834600D7CBDD /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/macOS/MoltenVK.framework; sourceTree = ""; }; - A9B5D0A11CF8835500D7CBDD /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/iOS/MoltenVK.framework; sourceTree = ""; }; - A9B5D0A31CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../Package/Latest/MoltenShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; - A9B5D0A51CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../Package/Latest/MoltenShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = ""; }; @@ -138,12 +110,10 @@ A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = ""; }; A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = ""; }; - A9B6B75F1C0F795000A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/CoreAudio.framework; sourceTree = DEVELOPER_DIR; }; - A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - A9BF67C21C582EC900B8CF77 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = ""; }; - A9CDEA271B6A782C00F7B008 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; - A9E264761B671B0A00FE691A /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libc++.dylib"; sourceTree = DEVELOPER_DIR; }; - BA240AC10FEFE77A00DE852D /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; + A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../MoltenVK/iOS/framework/MoltenVK.framework; sourceTree = ""; }; + A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; + A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../MoltenVK/macOS/framework/MoltenVK.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -151,9 +121,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9B5D0A21CF8835500D7CBDD /* MoltenVK.framework in Frameworks */, - A9B5D0A61CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */, - A9B5D09E1CF8831400D7CBDD /* libc++.tbd in Frameworks */, + A9C2ABA3218505B000DDBC03 /* MoltenVK.framework in Frameworks */, + A9C2ABA2218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -161,9 +130,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9B5D0A01CF8834600D7CBDD /* MoltenVK.framework in Frameworks */, - A9B5D0A41CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */, - A9B5D09C1CF8830B00D7CBDD /* libc++.tbd in Frameworks */, + A9C2ABA7218505CB00DDBC03 /* MoltenVK.framework in Frameworks */, + A9C2ABA6218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -186,37 +154,12 @@ A95C03971C98FBED00CC653D /* API-Samples */, A9B67B6A1C3AAE9800373FFD /* iOS */, A9B67B811C3AAEA200373FFD /* macOS */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, + A9C2AB9F218505B000DDBC03 /* Frameworks */, ); name = CustomTemplate; sourceTree = ""; }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - A9096E4E1F7EF10300DFBEA6 /* IOSurface.framework */, - A9B5D0A51CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */, - A9B5D0A31CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */, - A9B5D0A11CF8835500D7CBDD /* MoltenVK.framework */, - A9B5D09F1CF8834600D7CBDD /* MoltenVK.framework */, - A9B5D09D1CF8831400D7CBDD /* libc++.tbd */, - A9B5D09B1CF8830B00D7CBDD /* libc++.tbd */, - A95C07071C98FDD400CC653D /* MoltenVKGLSLToSPIRVConverter.framework */, - A95C07051C98FDB800CC653D /* MoltenSPIRVToMSLConverter.framework */, - A92F3CF11C7E5EBF008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */, - A92F3CEF1C7E5EB5008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */, - A92F3CED1C7E5E9D008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */, - A9BF67C21C582EC900B8CF77 /* MoltenVKGLSLToSPIRVConverter.framework */, - A90941BB1C582DF40094110D /* MoltenVKGLSLToSPIRVConverter.framework */, - A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */, - A9B6B75F1C0F795000A9E33A /* CoreAudio.framework */, - A9ADEC601B6EC2EB00DBA48C /* iOS */, - A9ADEC611B6EC2F300DBA48C /* macOS */, - ); - name = Frameworks; - sourceTree = ""; - }; A95C03971C98FBED00CC653D /* API-Samples */ = { isa = PBXGroup; children = ( @@ -498,36 +441,6 @@ path = utils; sourceTree = ""; }; - A9ADEC601B6EC2EB00DBA48C /* iOS */ = { - isa = PBXGroup; - children = ( - A9A222171B5D69F40050A5F9 /* Metal.framework */, - BA240AC10FEFE77A00DE852D /* OpenGLES.framework */, - 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */, - 2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, - 1D30AB110D05D00D00671497 /* Foundation.framework */, - A9CDEA271B6A782C00F7B008 /* GLKit.framework */, - A900B1A21B5EAA1C00150D60 /* libc++.dylib */, - ); - name = iOS; - sourceTree = ""; - }; - A9ADEC611B6EC2F300DBA48C /* macOS */ = { - isa = PBXGroup; - children = ( - A94A67231B7BDE9B00F6D7C4 /* MetalGL.framework */, - A94A67241B7BDE9B00F6D7C4 /* MetalGLShaderConverter.framework */, - A9E264761B671B0A00FE691A /* libc++.dylib */, - A977BD251B67186B0067E5BF /* Metal.framework */, - A977BD261B67186B0067E5BF /* QuartzCore.framework */, - A977BD211B67186B0067E5BF /* AppKit.framework */, - A977BD221B67186B0067E5BF /* CoreGraphics.framework */, - A977BD231B67186B0067E5BF /* Foundation.framework */, - ); - name = macOS; - sourceTree = ""; - }; A9B67B6A1C3AAE9800373FFD /* iOS */ = { isa = PBXGroup; children = ( @@ -578,6 +491,17 @@ path = Resources; sourceTree = ""; }; + A9C2AB9F218505B000DDBC03 /* Frameworks */ = { + isa = PBXGroup; + children = ( + A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */, + A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */, + A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */, + A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -721,7 +645,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../../MoltenVK/iOS\"", + "\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"", "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"", ); GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch"; @@ -747,7 +671,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../../MoltenVK/iOS\"", + "\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"", "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"", ); GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch"; @@ -769,7 +693,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COMBINE_HIDPI_IMAGES = YES; FRAMEWORK_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../../MoltenVK/macOS\"", + "\"$(SRCROOT)/../../../MoltenVK/macOS/framework\"", "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"", ); GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch"; @@ -792,7 +716,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COMBINE_HIDPI_IMAGES = YES; FRAMEWORK_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../../MoltenVK/macOS\"", + "\"$(SRCROOT)/../../../MoltenVK/macOS/framework\"", "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"", ); GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch"; diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj index 292c6091..d3f84da3 100644 --- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj +++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj @@ -7,16 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - A904B5711C9A08C90008C013 /* cube-frag.spv in Resources */ = {isa = PBXBuildFile; fileRef = A904B52E1C9A08C90008C013 /* cube-frag.spv */; }; - A904B5721C9A08C90008C013 /* cube-frag.spv in Resources */ = {isa = PBXBuildFile; fileRef = A904B52E1C9A08C90008C013 /* cube-frag.spv */; }; - A904B5751C9A08C90008C013 /* cube-vert.spv in Resources */ = {isa = PBXBuildFile; fileRef = A904B52F1C9A08C90008C013 /* cube-vert.spv */; }; - A904B5761C9A08C90008C013 /* cube-vert.spv in Resources */ = {isa = PBXBuildFile; fileRef = A904B52F1C9A08C90008C013 /* cube-vert.spv */; }; - A91F43A01EDDD46B00733D01 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */; }; - A91F43A51EDDD5CF00733D01 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A91F43A41EDDD5CF00733D01 /* libc++.tbd */; }; - A91F43A61EDDD61100733D01 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A91F43A71EDDD61D00733D01 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9B2A5551D7E4FB300F66656 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A9A262E91CF0C60F00A87A75 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A262E71CF0C60500A87A75 /* libc++.tbd */; }; - A9B2A5561D7E4FB300F66656 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B2A5551D7E4FB300F66656 /* libMoltenVK.dylib */; }; A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; }; A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; }; A9B53B181C3AC0BE00ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B831C3AAEA200373FFD /* AppDelegate.m */; }; @@ -29,6 +19,10 @@ A9B53B341C3AC15200ABC6F6 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; }; A9B53B351C3AC15200ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; }; A9B53B361C3AC15200ABC6F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; }; + A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; }; + A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; }; + A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -38,7 +32,7 @@ dstPath = ""; dstSubfolderSpec = 6; files = ( - A91F43A61EDDD61100733D01 /* libMoltenVK.dylib in CopyFiles */, + A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -48,23 +42,16 @@ dstPath = ""; dstSubfolderSpec = 6; files = ( - A91F43A71EDDD61D00733D01 /* libMoltenVK.dylib in CopyFiles */, + A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - A904B52E1C9A08C90008C013 /* cube-frag.spv */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cube-frag.spv"; sourceTree = ""; }; - A904B52F1C9A08C90008C013 /* cube-vert.spv */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cube-vert.spv"; sourceTree = ""; }; A904B5301C9A08C90008C013 /* cube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cube.c; sourceTree = ""; }; A904B5311C9A08C90008C013 /* cube.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.frag; sourceTree = ""; }; A904B5331C9A08C90008C013 /* cube.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.vert; sourceTree = ""; }; - A9096E501F7EF11A00DFBEA6 /* IOSurface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOSurface.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/IOSurface.framework; sourceTree = DEVELOPER_DIR; }; - A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/iOS/libMoltenVK.dylib; sourceTree = ""; }; - A91F43A41EDDD5CF00733D01 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/lib/libc++.tbd"; sourceTree = DEVELOPER_DIR; }; - A9A262E71CF0C60500A87A75 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; - A9B2A5551D7E4FB300F66656 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/macOS/libMoltenVK.dylib; sourceTree = ""; }; A9B53B271C3AC0BE00ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; }; A9B53B431C3AC15200ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; }; A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; @@ -87,8 +74,8 @@ A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = ""; }; A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = ""; }; - A9E34B841CECF28700E40A7F /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../iOS/MoltenVK.framework; sourceTree = ""; }; - A9E34B871CECF29800E40A7F /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../macOS/MoltenVK.framework; sourceTree = ""; }; + A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/macOS/dynamic/libMoltenVK.dylib; sourceTree = ""; }; + A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/iOS/dynamic/libMoltenVK.dylib; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -96,8 +83,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9B2A5561D7E4FB300F66656 /* libMoltenVK.dylib in Frameworks */, - A9A262E91CF0C60F00A87A75 /* libc++.tbd in Frameworks */, + A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -105,8 +91,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A91F43A01EDDD46B00733D01 /* libMoltenVK.dylib in Frameworks */, - A91F43A51EDDD5CF00733D01 /* libc++.tbd in Frameworks */, + A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -128,8 +113,8 @@ A904B52C1C9A08C80008C013 /* cube */, A9B67B6A1C3AAE9800373FFD /* iOS */, A9B67B811C3AAEA200373FFD /* macOS */, - A9295EAA1CECEF0900EFC483 /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, + A9C2ABA82185085B00DDBC03 /* Frameworks */, ); name = CustomTemplate; sourceTree = ""; @@ -137,8 +122,6 @@ A904B52C1C9A08C80008C013 /* cube */ = { isa = PBXGroup; children = ( - A904B52E1C9A08C90008C013 /* cube-frag.spv */, - A904B52F1C9A08C90008C013 /* cube-vert.spv */, A904B5301C9A08C90008C013 /* cube.c */, A904B5311C9A08C90008C013 /* cube.frag */, A904B5331C9A08C90008C013 /* cube.vert */, @@ -147,20 +130,6 @@ path = "../Vulkan-Tools/cube"; sourceTree = ""; }; - A9295EAA1CECEF0900EFC483 /* Frameworks */ = { - isa = PBXGroup; - children = ( - A9096E501F7EF11A00DFBEA6 /* IOSurface.framework */, - A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */, - A9B2A5551D7E4FB300F66656 /* libMoltenVK.dylib */, - A9E34B841CECF28700E40A7F /* MoltenVK.framework */, - A9E34B871CECF29800E40A7F /* MoltenVK.framework */, - A9A262E71CF0C60500A87A75 /* libc++.tbd */, - A91F43A41EDDD5CF00733D01 /* libc++.tbd */, - ); - name = Frameworks; - sourceTree = ""; - }; A9B67B6A1C3AAE9800373FFD /* iOS */ = { isa = PBXGroup; children = ( @@ -211,6 +180,15 @@ path = Resources; sourceTree = ""; }; + A9C2ABA82185085B00DDBC03 /* Frameworks */ = { + isa = PBXGroup; + children = ( + A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */, + A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -218,7 +196,6 @@ isa = PBXNativeTarget; buildConfigurationList = A9B53B241C3AC0BE00ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-macOS" */; buildPhases = ( - A9BA29C5204F24D400EA6575 /* Generate SPIR-V shaders */, A9B53B141C3AC0BE00ABC6F6 /* Resources */, A9B53B171C3AC0BE00ABC6F6 /* Sources */, A9B53B1B1C3AC0BE00ABC6F6 /* Frameworks */, @@ -237,7 +214,6 @@ isa = PBXNativeTarget; buildConfigurationList = A9B53B401C3AC15200ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-iOS" */; buildPhases = ( - A9BA29C6204F298800EA6575 /* Generate SPIR-V shaders */, A9B53B2E1C3AC15200ABC6F6 /* Resources */, A9B53B331C3AC15200ABC6F6 /* Sources */, A9B53B371C3AC15200ABC6F6 /* Frameworks */, @@ -290,8 +266,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - A904B5761C9A08C90008C013 /* cube-vert.spv in Resources */, - A904B5721C9A08C90008C013 /* cube-frag.spv in Resources */, A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */, A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */, ); @@ -301,48 +275,15 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - A904B5751C9A08C90008C013 /* cube-vert.spv in Resources */, A9B53B2F1C3AC15200ABC6F6 /* Icon.png in Resources */, A9B53B301C3AC15200ABC6F6 /* Main.storyboard in Resources */, A9B53B311C3AC15200ABC6F6 /* Default~ipad.png in Resources */, A9B53B321C3AC15200ABC6F6 /* Default-568h@2x.png in Resources */, - A904B5711C9A08C90008C013 /* cube-frag.spv in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - A9BA29C5204F24D400EA6575 /* Generate SPIR-V shaders */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Generate SPIR-V shaders"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "set -e\n\n\"${PROJECT_DIR}/../../../MoltenVKShaderConverter/Tools/MoltenVKShaderConverter\" -gi -so -xs \"-\" -d \"${PROJECT_DIR}/../Vulkan-Tools/cube\"\n"; - }; - A9BA29C6204F298800EA6575 /* Generate SPIR-V shaders */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Generate SPIR-V shaders"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "set -e\n\n\"${PROJECT_DIR}/../../../MoltenVKShaderConverter/Tools/MoltenVKShaderConverter\" -gi -so -xs \"-\" -d \"${PROJECT_DIR}/../Vulkan-Tools/cube\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ A9B53B171C3AC0BE00ABC6F6 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -379,7 +320,7 @@ ); INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "@executable_path"; - LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS\""; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\""; MACOSX_DEPLOYMENT_TARGET = 10.11; PRODUCT_NAME = Cube; SDKROOT = macosx; @@ -398,7 +339,7 @@ ); INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "@executable_path"; - LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS\""; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\""; MACOSX_DEPLOYMENT_TARGET = 10.11; PRODUCT_NAME = Cube; SDKROOT = macosx; @@ -418,7 +359,7 @@ INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path"; - LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS\""; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\""; PRODUCT_NAME = Cube; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -439,7 +380,7 @@ INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path"; - LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS\""; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\""; PRODUCT_NAME = Cube; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj index c9dbc2e7..e1db4ad2 100644 --- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj +++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj @@ -37,35 +37,19 @@ A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; }; A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; }; A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; }; + A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB97218503A400DDBC03 /* libMoltenVK.a */; }; + A9C2AB9A218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB98218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; }; + A9C2AB9D218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB9B218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; }; + A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */; }; A9D516F81CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; }; A9D516F91CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; }; - A9F4FB461CF68822003FA0C3 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB451CF68822003FA0C3 /* libc++.tbd */; }; - A9F4FB481CF6882E003FA0C3 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB471CF6882E003FA0C3 /* libc++.tbd */; }; - A9F4FB4A1CF688A5003FA0C3 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB491CF688A5003FA0C3 /* MoltenVK.framework */; }; - A9F4FB4C1CF688B5003FA0C3 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB4B1CF688B5003FA0C3 /* MoltenVK.framework */; }; - A9F4FB4F1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB4E1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */; }; - A9F4FB511CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB501CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - A900B1A21B5EAA1C00150D60 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; }; - A90941BB1C582DF40094110D /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../../../../../../Library/Developer/Xcode/DerivedData/VulkanSamples-emusmkeclqfwfncmwqpcvdzumhpu/Build/Products/Release/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = ""; }; - A9096E521F7EF13000DFBEA6 /* IOSurface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOSurface.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/IOSurface.framework; sourceTree = DEVELOPER_DIR; }; A93CC3701CD56B8F00EB8A56 /* generate-dispatch-table */ = {isa = PBXFileReference; explicitFileType = text.script.python; path = "generate-dispatch-table"; sourceTree = ""; }; A93CC3711CD56FD600EB8A56 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; - A94A67231B7BDE9B00F6D7C4 /* MetalGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalGL.framework; path = ../../MetalGL/macOS/MetalGL.framework; sourceTree = ""; }; - A94A67241B7BDE9B00F6D7C4 /* MetalGLShaderConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalGLShaderConverter.framework; path = ../../MetalGLShaderConverter/macOS/MetalGLShaderConverter.framework; sourceTree = ""; }; A977BCFE1B66BB010067E5BF /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; }; - A977BD211B67186B0067E5BF /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; - A977BD221B67186B0067E5BF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; - A977BD231B67186B0067E5BF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - A977BD251B67186B0067E5BF /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Metal.framework; sourceTree = DEVELOPER_DIR; }; - A977BD261B67186B0067E5BF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; A997897F1CD3D4E2005E7DAC /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = ""; }; A99789821CD3D4E2005E7DAC /* Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Helpers.h; sourceTree = ""; }; A99789831CD3D4E2005E7DAC /* Hologram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Hologram.cpp; sourceTree = ""; }; @@ -83,9 +67,6 @@ A99789961CD3D4E2005E7DAC /* Simulation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Simulation.h; sourceTree = ""; }; A99789C71CD3D819005E7DAC /* ShellMVK.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShellMVK.cpp; sourceTree = SOURCE_ROOT; }; A99789C81CD3D819005E7DAC /* ShellMVK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShellMVK.h; sourceTree = SOURCE_ROOT; }; - A99789E01CD4186E005E7DAC /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = ""; }; - A99789E21CD4187A005E7DAC /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../MoltenShaderConverter/build/Debug/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; - A9A222171B5D69F40050A5F9 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; }; A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = ""; }; @@ -106,20 +87,12 @@ A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = ""; }; A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = ""; }; - A9B6B75F1C0F795000A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/CoreAudio.framework; sourceTree = DEVELOPER_DIR; }; - A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - A9BF67C21C582EC900B8CF77 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = ""; }; - A9CDEA271B6A782C00F7B008 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; + A9C2AB97218503A400DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/iOS/static/libMoltenVK.a; sourceTree = ""; }; + A9C2AB98218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; + A9C2AB9B218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; + A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/macOS/static/libMoltenVK.a; sourceTree = ""; }; A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelpersDispatchTable.cpp; sourceTree = SOURCE_ROOT; }; A9D516F71CD575E300097D96 /* HelpersDispatchTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelpersDispatchTable.h; sourceTree = SOURCE_ROOT; }; - A9E264761B671B0A00FE691A /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libc++.dylib"; sourceTree = DEVELOPER_DIR; }; - A9F4FB451CF68822003FA0C3 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; - A9F4FB471CF6882E003FA0C3 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libc++.tbd"; sourceTree = DEVELOPER_DIR; }; - A9F4FB491CF688A5003FA0C3 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/iOS/MoltenVK.framework; sourceTree = ""; }; - A9F4FB4B1CF688B5003FA0C3 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/macOS/MoltenVK.framework; sourceTree = ""; }; - A9F4FB4E1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../Package/Latest/MoltenShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; - A9F4FB501CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../Package/Latest/MoltenShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = ""; }; - BA240AC10FEFE77A00DE852D /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -127,9 +100,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9F4FB4A1CF688A5003FA0C3 /* MoltenVK.framework in Frameworks */, - A9F4FB4F1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */, - A9F4FB481CF6882E003FA0C3 /* libc++.tbd in Frameworks */, + A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */, + A9C2AB9A218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,9 +109,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A9F4FB4C1CF688B5003FA0C3 /* MoltenVK.framework in Frameworks */, - A9F4FB511CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */, - A9F4FB461CF68822003FA0C3 /* libc++.tbd in Frameworks */, + A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */, + A9C2AB9D218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -161,34 +132,12 @@ A99789681CD3D4E2005E7DAC /* Hologram */, A9B67B6A1C3AAE9800373FFD /* iOS */, A9B67B811C3AAEA200373FFD /* macOS */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, + A9C2AB96218503A400DDBC03 /* Frameworks */, ); name = CustomTemplate; sourceTree = ""; }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - A9096E521F7EF13000DFBEA6 /* IOSurface.framework */, - A9F4FB501CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */, - A9F4FB4E1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */, - A9F4FB4B1CF688B5003FA0C3 /* MoltenVK.framework */, - A9F4FB491CF688A5003FA0C3 /* MoltenVK.framework */, - A9F4FB471CF6882E003FA0C3 /* libc++.tbd */, - A9F4FB451CF68822003FA0C3 /* libc++.tbd */, - A99789E21CD4187A005E7DAC /* MoltenVKGLSLToSPIRVConverter.framework */, - A99789E01CD4186E005E7DAC /* MoltenVKGLSLToSPIRVConverter.framework */, - A9BF67C21C582EC900B8CF77 /* MoltenVKGLSLToSPIRVConverter.framework */, - A90941BB1C582DF40094110D /* MoltenVKGLSLToSPIRVConverter.framework */, - A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */, - A9B6B75F1C0F795000A9E33A /* CoreAudio.framework */, - A9ADEC601B6EC2EB00DBA48C /* iOS */, - A9ADEC611B6EC2F300DBA48C /* macOS */, - ); - name = Frameworks; - sourceTree = ""; - }; A99789681CD3D4E2005E7DAC /* Hologram */ = { isa = PBXGroup; children = ( @@ -217,36 +166,6 @@ path = "../VulkanSamples/Sample-Programs/Hologram"; sourceTree = ""; }; - A9ADEC601B6EC2EB00DBA48C /* iOS */ = { - isa = PBXGroup; - children = ( - A9A222171B5D69F40050A5F9 /* Metal.framework */, - BA240AC10FEFE77A00DE852D /* OpenGLES.framework */, - 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */, - 2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, - 1D30AB110D05D00D00671497 /* Foundation.framework */, - A9CDEA271B6A782C00F7B008 /* GLKit.framework */, - A900B1A21B5EAA1C00150D60 /* libc++.dylib */, - ); - name = iOS; - sourceTree = ""; - }; - A9ADEC611B6EC2F300DBA48C /* macOS */ = { - isa = PBXGroup; - children = ( - A94A67231B7BDE9B00F6D7C4 /* MetalGL.framework */, - A94A67241B7BDE9B00F6D7C4 /* MetalGLShaderConverter.framework */, - A9E264761B671B0A00FE691A /* libc++.dylib */, - A977BD251B67186B0067E5BF /* Metal.framework */, - A977BD261B67186B0067E5BF /* QuartzCore.framework */, - A977BD211B67186B0067E5BF /* AppKit.framework */, - A977BD221B67186B0067E5BF /* CoreGraphics.framework */, - A977BD231B67186B0067E5BF /* Foundation.framework */, - ); - name = macOS; - sourceTree = ""; - }; A9B67B6A1C3AAE9800373FFD /* iOS */ = { isa = PBXGroup; children = ( @@ -297,6 +216,17 @@ path = Resources; sourceTree = ""; }; + A9C2AB96218503A400DDBC03 /* Frameworks */ = { + isa = PBXGroup; + children = ( + A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */, + A9C2AB9B218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */, + A9C2AB97218503A400DDBC03 /* libMoltenVK.a */, + A9C2AB98218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; A9D516F51CD575B000097D96 /* Generated */ = { isa = PBXGroup; children = ( @@ -462,7 +392,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "../VulkanSamples/Sample-Programs/Hologram/generate-dispatch-table HelpersDispatchTable.cpp"; + shellScript = "../VulkanSamples/Sample-Programs/Hologram/generate-dispatch-table HelpersDispatchTable.cpp\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -509,14 +439,12 @@ buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../../MoltenVK/iOS\"", - "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"", - ); + FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\""; GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\""; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; VALID_ARCHS = arm64; @@ -528,14 +456,12 @@ buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../../MoltenVK/iOS\"", - "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"", - ); + FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\""; GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\""; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; VALID_ARCHS = arm64; @@ -547,13 +473,11 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../../MoltenVK/macOS\"", - "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"", - ); + FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\""; GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist"; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\""; MACOSX_DEPLOYMENT_TARGET = 10.11; SDKROOT = macosx; }; @@ -564,13 +488,11 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../../MoltenVK/macOS\"", - "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"", - ); + FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\""; GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist"; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\""; MACOSX_DEPLOYMENT_TARGET = 10.11; SDKROOT = macosx; }; diff --git a/Demos/README.md b/Demos/README.md index fff3f5eb..a41724a3 100644 --- a/Demos/README.md +++ b/Demos/README.md @@ -55,9 +55,9 @@ To run this demo, run either the `Cube-iOS` or `Cube-macOS` *Scheme* from within This demo includes a sizable window, and represents an example of how to detect, within your *Vulkan* code, when a window has been resized, and to modify the *Vulkan* swapchain accordingly. -This demo is a simple example of installing **MoltenVK** as a dynamic library, instead of as -a statically-linked framework. In this demo, the **MoltenVK** dynamic library is embedded in -the application, but it could have been installed as a system library instead. +The `Cube` demo is a simple example of installing **MoltenVK** as a *dynamic library*. In this demo, +the **MoltenVK** *dynamic library* is embedded in the application, but it could have been installed +as a system library instead. @@ -85,6 +85,8 @@ follow the instructions in the comments within that file. To see descriptions and screenshots of each of the demos, open [this summary document](LunarG-VulkanSamples/VulkanSamples/samples_index.html#AdditionalVulkan). +The `API-Samples` demo is a simple example of installing **MoltenVK** as a *static framework*. + ### *Hologram* @@ -113,6 +115,8 @@ logging the conversion of shaders from *SPIR-V* to *Metal Shading Language*. See functions in the `Hologram/Hologram.cpp` file. To see the effect, modify the `Hologram-iOS` or `Hologram-macOS` *Scheme* from within *Xcode* to use the **Debug** *Build Configuration* setting. +The `Hologram` demo is a simple example of installing **MoltenVK** as a *static library*. + diff --git a/Docs/MoltenVK_Runtime_UserGuide.md b/Docs/MoltenVK_Runtime_UserGuide.md index d277828d..74668126 100644 --- a/Docs/MoltenVK_Runtime_UserGuide.md +++ b/Docs/MoltenVK_Runtime_UserGuide.md @@ -21,8 +21,7 @@ Table of Contents - [About **MoltenVK**](#about_moltenvk) - [Installing **MoltenVK** in Your *Vulkan* Application](#install) - [Build and Runtime Requirements](#requirements) - - [Install as Static Library Framework](#install_static_lib) - - [Install as Dynamic Library](#install_dynamic_lib) + - [Install as Static Framework, Static Library, or Dynamic Library](#install_lib) - [Interacting with the **MoltenVK** Runtime](#interaction) - [MoltenVK Extension](#moltenvk_extension) - [*Metal Shading Language* Shaders](#shaders) @@ -93,50 +92,94 @@ Once built, **MoltenVK** can be run on *iOS* or *macOS* devices that support *Me [this article](https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/HardwareGPUInformation/HardwareGPUInformation.html). - -### Install as Static Library Framework + +### Install as Static Framework, Static Library, or Dynamic Library Installation of **MoltenVK** is straightforward and easy! -For most applications, you can install **MoltenVK** as a *static library framework* that will be -embedded directly in your application executable, or a component library within your application. -This is simple and straightforward, and is the recommended installation approach for all applications. - -To add **MoltenVK** as a *static library framework* to your existing *Vulkan* application, -follow the steps in this section. If you're new to **MoltenVK**, it is recommended that you -start with a smaller project to help you understand the transition, and to reduce the possibility -of needing to make modifications to your [shaders](#shaders) to ensure their compatibility with -the *Metal* environment. +Depending on your build and deployment needs, you can install **MoltenVK** as a *static framework*, +*static library*, or *dynamic library*, by following the steps in this section. If you are unsure +about which linking and deployment option you need, follow the steps for installing a +*static framework*, as it is the simplest to install. 1. Open your application in *Xcode* and select your application's target in the *Project Navigator* panel. -2. Open the *Build Settings* tab, and in the **Framework Search Paths** (aka `FRAMEWORK_SEARCH_PATHS`) - setting: - - If building for *iOS*, add an entry that points to the `MoltenVK/iOS` folder, - found in the **MoltenVK** distribution package. - - If building for *macOS*, add an entry that points to the `MoltenVK/macOS` folder, - found in the **MoltenVK** distribution package. -3. If using `IOSurfaces` on *iOS*, in the *Build Settings* tab, open the **iOS Deployment Target** +2. Open the *Build Settings* tab. + + - If installing **MoltenVK** as a *static framework* in your application: + 1. In the **Framework Search Paths** (aka `FRAMEWORK_SEARCH_PATHS`) + setting, add an entry that points to **_one_** of the following folders: + - `MoltenVK/macOS/framework` *(macOS)* + - `MoltenVK/iOS/framework` *(iOS)* + + - If installing **MoltenVK** as a *static library* in your application: + 1. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, + add an entry that points to **_one_** of the following folders: + - `MoltenVK/macOS/static` *(macOS)* + - `MoltenVK/iOS/static` *(iOS)* + 2. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, + add an entry that points to the `MoltenVK/include` folder. + + - If installing **MoltenVK** as a *dynamic library* in your application: + 1. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, + add an entry that points to **_one_** of the following folders: + - `MoltenVK/macOS/dynamic` *(macOS)* + - `MoltenVK/iOS/dynamic` *(iOS)* + 2. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, + add an entry that points to the `MoltenVK/include` folder. + 3. In the **Runpath Search Paths** (aka `LD_RUNPATH_SEARCH_PATHS`) setting, + add an entry that matches where the dynamic library will be located in your runtime + environment. If the dynamic library is to be embedded within your application, + you would typically set this value to either `@executable_path` or `@loader_path`. + The `libMoltenVK.dylib` library is internally configured to be located at + `@rpath/libMoltenVK.dylib`. + +3. With the *Build Settings* tab open, if using `IOSurfaces` on *iOS*, open the **iOS Deployment Target** (aka `IPHONEOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a value of `iOS 11.0` or greater. 4. On the *Build Phases* tab, open the *Link Binary With Libraries* list. + + - For *macOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list: + - `MoltenVK/macOS/framework/MoltenVK.framework ` *(static framework)* + - `MoltenVK/macOS/static/libMoltenVK.a` *(static library)* + - `MoltenVK/macOS/dynamic/libMoltenVK.dylib` *(dynamic library)* - 1. Drag the `MoltenVK/iOS/MoltenVK.framework` or `MoltenVK/macOS/MoltenVK.framework` folder, - found in the **MoltenVK** distribution package, to the *Link Binary With Libraries* list. - 2. Click the **+** button, and (selecting from the list of system libraries) add `libc++.tbd`. - 3. If you do not have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and - **Enable Modules (C and Objective-C** (aka `CLANG_ENABLE_MODULES`) settings enabled, click the - **+** button, and (selecting from the list of system frameworks) add the following frameworks: - - `Metal.framework` - - `Foundation.framework`. - - `QuartzCore.framework` - - `IOKit.framework` (*macOS*) - - `UIKit.framework` (*iOS*) - - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`) + - For *iOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list: + - `MoltenVK/iOS/framework/MoltenVK.framework ` *(static framework)* + - `MoltenVK/iOS/static/libMoltenVK.a` *(static library)* + - `MoltenVK/iOS/dynamic/libMoltenVK.dylib` *(dynamic library)* -5. When a *Metal* app is running from *Xcode*, the default ***Scheme*** settings reduce +5. While in the *Link Binary With Libraries* list on the *Build Phases* tab, if you do **_not_** + have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and + **Enable Modules (C and Objective-C)** (aka `CLANG_ENABLE_MODULES`) settings enabled, click + the **+** button, and (selecting from the list of system frameworks) add the following items: + - `libc++.tbd` + - `Metal.framework` + - `Foundation.framework`. + - `QuartzCore.framework` + - `IOKit.framework` (*macOS*) + - `UIKit.framework` (*iOS*) + - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`) + + +6. If installing **MoltenVK** as a *dynamic library* in your application, arrange to install + the `libMoltenVK.dylib` file in your application environment: + + - To copy the `libMoltenVK.dylib` file into your application or component library: + 1. On the *Build Phases* tab, add a new *Copy Files* build phase. + 2. Set the *Destination* into which you want to place the `libMoltenVK.dylib` file. + Typically this will be *Executables*. + 3. Drag **_one_** of the following files to the *Copy Files* list in this new build phase: + - `MoltenVK/macOS/dynamic/libMoltenVK.dylib` *(macOS)* + - `MoltenVK/iOS/dynamic/libMoltenVK.dylib` *(iOS)* + + - Alternately, you may create your own installation mechanism to install either the + `MoltenVK/macOS/dynamic/libMoltenVK.dylib` or `MoltenVK/iOS/dynamic/libMoltenVK.dylib` + file into a standard *macOS* or *iOS* system library folder on the user's device. + +7. When a *Metal* app is running from *Xcode*, the default ***Scheme*** settings reduce performance. To improve performance and gain the benefits of *Metal*, perform the following in *Xcode*: @@ -152,70 +195,12 @@ the *Metal* environment. section of Apple's *Metal Programming Guide* documentation. +The demo apps, found in the `Demos.xcworkspace`, located in the `Demos` folder, demonstrate each +of the installation techniques discussed above: - -### Install as Dynamic Library - -For some applications, you may prefer to install **MoltenVK** as a dynamic library. -This is only recommended for developers who are used to working with dynamic libraries, -and even then, the preferred approach is to link the **MoltenVK** -[*static library framework*](#install_static_lib) into a dynamic library of your own -creation, in order to give you the most flexibility for organizing your dynamic libraries. - -In order to install **MoltenVK** as its own dynamic library in your application, -follow these instructions: - -1. Open your application in *Xcode* and select your application's target in the - *Project Navigator* panel. - -2. On the *Build Settings* tab: - 1. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, add an entry - that points to the `MoltenVK/include` folder, found in the **MoltenVK** distribution package. - 2. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, add an entry - that points to either the `MoltenVK/iOS` or `MoltenVK/macOS` folder, found in the - **MoltenVK** distribution package. - 3. In the **Runpath Search Paths** (aka `LD_RUNPATH_SEARCH_PATHS`) setting, add a path - that matches the library destination you established in **Step 2** above. If the dynamic - library is to be embedded within your application, you would typically set this value to - either `@executable_path` or `@loader_path`. The `libMoltenVK.dylib` library is internally - configured to be located at `@rpath/libMoltenVK.dylib`. - -3. If using `IOSurfaces` on *iOS*, in the *Build Settings* tab, open the **iOS Deployment Target** - (aka `IPHONEOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a value of `iOS 11.0` or greater. - -4. On the *Build Phases* tab, open the *Link Binary With Libraries* list. - - 1. Drag the `MoltenVK/iOS/libMoltenVK.dylib` or `MoltenVK/macOS/libMoltenVK.dylib` file, - found in the **MoltenVK** distribution package, to the *Link Binary With Libraries* list. - 2. Click the **+** button, and (selecting from the list of system libraries) add `libc++.tbd`. - 3. If you do not have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and - **Enable Modules (C and Objective-C** (aka `CLANG_ENABLE_MODULES`) settings enabled, click the - **+** button, and (selecting from the list of system frameworks) add the following frameworks: - - `Metal.framework` - - `Foundation.framework`. - - `QuartzCore.framework` - - `IOKit.framework` (*macOS*) - - `UIKit.framework` (*iOS*) - - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`) - -5. Arrange to install the `libMoltenVK.dylib` file in your application environment: - - - To copy the `libMoltenVK.dylib` file into your application or component library: - 1. On the *Build Phases* tab, add a new *Copy Files* build phase. - 2. Set the *Destination* into which you want to place the `libMoltenVK.dylib` file. - Typically this will be *Executables*. - 3. Drag the `MoltenVK/iOS/libMoltenVK.dylib` or `MoltenVK/macOS/libMoltenVK.dylib` - file to the *Copy Files* list in this new build phase. - - - Alternately, you may create your own installation mechanism to install the - `MoltenVK/iOS/libMoltenVK.dylib` or `MoltenVK/macOS/libMoltenVK.dylib` file - into a standard *iOS* or *macOS* system library folder on the user's device. - - -The `Cube-iOS` and `Cube-macOS` **MoltenVK** demo apps, found in the `Demos.xcworkspace`, -located in the `Demos` folder within the **MoltenVK** distribution package, are simple -examples of installing *MoltenVK* as a dynamic library embedded within an *iOS* or *macOS* -application, respectively. +- Static Framework: `API-Samples`. +- Static library: `Hologram`. +- Dynamic library: `Cube`. @@ -500,7 +485,3 @@ The following *Vulkan 1.0* features have not been implemented in this version of - Pipeline statistics query pool: - `vkCreateQueryPool(VK_QUERY_TYPE_PIPELINE_STATISTICS)` -- `VkImageViewCreateInfo::VkComponentMapping` supports only the following per-texture swizzles: - - `VK_FORMAT_R8_UNORM`: `VkComponentMapping.r` = `VK_COMPONENT_SWIZZLE_R` - - `VK_FORMAT_R8G8B8A8_UNORM` <-> `VK_FORMAT_B8G8R8A8_UNORM` - - `VK_FORMAT_R8G8B8A8_SRGB` <-> `VK_FORMAT_B8G8R8A8_SRGB` diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md index fcf62e79..02af5720 100644 --- a/Docs/Whats_New.md +++ b/Docs/Whats_New.md @@ -15,8 +15,15 @@ For best results, use a Markdown reader.* MoltenVK 1.0.25 --------------- -Released TBD +Released 2018/10/31 +- Refactor the build environment. + - Support creation of static library and build framework and dynamic library from it. + - Add Makefile to better support command line or script building integration. + - Update demos to each use one of framework, static library, and dynamic library. + - Refactor and rename the build scripts. + - Refactor and rename the Xcode Schemes. + - Update build and runtime documentation. - Update shader caching for compatibility with texture swizzling. - Support polygonMode VK_POLYGON_MODE_POINT. - vkCreateInstance returns VK_ERROR_INCOMPATIBLE_DRIVER if Metal not available. diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..a0868e48 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +XCODE_PROJ := MoltenVKPackaging.xcodeproj + +.PHONY: all +all: + xcodebuild -quiet -project $(XCODE_PROJ) -scheme "MoltenVK Package" build + +.PHONY: macos +macos: + xcodebuild -quiet -project $(XCODE_PROJ) -scheme "MoltenVK Package (macOS only)" build + +.PHONY: ios +ios: + xcodebuild -quiet -project $(XCODE_PROJ) -scheme "MoltenVK Package (iOS only)" build + +.PHONY: clean +clean: + xcodebuild -project $(XCODE_PROJ) -scheme "MoltenVK Package" clean + rm -rf Package + diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj index 96c1014d..474310a5 100644 --- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj +++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj @@ -23,12 +23,12 @@ A93E83302121C5D4001FEBD4 /* MVKGPUCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E832E2121C5D3001FEBD4 /* MVKGPUCapture.h */; }; A93E83352121F0C8001FEBD4 /* MVKGPUCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */; }; A93E83362121F0C8001FEBD4 /* MVKGPUCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */; }; - A948BB7F1E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A948BB801E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94FB7B01C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94FB7B11C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94FB7B41C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A94FB7B51C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A948BB7F1E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; }; + A948BB801E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; }; + A94FB7B01C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; }; + A94FB7B11C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; }; + A94FB7B41C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; }; + A94FB7B51C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; }; A94FB7B81C7DFB4800632CA3 /* MVKCmdTransfer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB76C1C7DFB4800632CA3 /* MVKCmdTransfer.h */; }; A94FB7B91C7DFB4800632CA3 /* MVKCmdTransfer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB76C1C7DFB4800632CA3 /* MVKCmdTransfer.h */; }; A94FB7BA1C7DFB4800632CA3 /* MVKCmdTransfer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB76D1C7DFB4800632CA3 /* MVKCmdTransfer.mm */; }; @@ -342,11 +342,11 @@ A981494C1FB6A3F7005F00B4 /* MVKWatermarkTextureContent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKWatermarkTextureContent.h; sourceTree = ""; }; A981496A1FB6A998005F00B4 /* MVKStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKStrings.h; sourceTree = ""; }; A9AD67C72054DD6C00ED3C08 /* vulkan */ = {isa = PBXFileReference; lastKnownFileType = folder; path = vulkan; sourceTree = ""; }; - A9B8EE0A1A98D796009C5A02 /* MoltenVK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A9B8EE0A1A98D796009C5A02 /* libMoltenVK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVK.a; sourceTree = BUILT_PRODUCTS_DIR; }; A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVKShaderConverter.xcodeproj; path = ../MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj; sourceTree = ""; }; A9C96DCE1DDC20C20053187F /* MVKMTLBufferAllocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKMTLBufferAllocation.h; sourceTree = ""; }; A9C96DCF1DDC20C20053187F /* MVKMTLBufferAllocation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKMTLBufferAllocation.mm; sourceTree = ""; }; - A9CBEE011B6299D800E45FDC /* MoltenVK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A9CBEE011B6299D800E45FDC /* libMoltenVK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVK.a; sourceTree = BUILT_PRODUCTS_DIR; }; A9DE1083200598C500F18F80 /* icd */ = {isa = PBXFileReference; lastKnownFileType = folder; path = icd; sourceTree = ""; }; A9E4B7881E1D8AF10046A4CE /* MVKMTLResourceBindings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKMTLResourceBindings.h; sourceTree = ""; }; A9E53DCD2100B197002781DD /* MTLSamplerDescriptor+MoltenVK.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MTLSamplerDescriptor+MoltenVK.m"; sourceTree = ""; }; @@ -574,8 +574,8 @@ A9F55D2E198BE6A7004EC31B /* Products */ = { isa = PBXGroup; children = ( - A9B8EE0A1A98D796009C5A02 /* MoltenVK.framework */, - A9CBEE011B6299D800E45FDC /* MoltenVK.framework */, + A9B8EE0A1A98D796009C5A02 /* libMoltenVK.a */, + A9CBEE011B6299D800E45FDC /* libMoltenVK.a */, ); name = Products; sourceTree = ""; @@ -587,11 +587,11 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A94FB7B41C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */, A909F65F213B190700FCD6BE /* MVKExtensions.h in Headers */, + A94FB7B41C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */, A94FB7B01C7DFB4800632CA3 /* mvk_datatypes.h in Headers */, - A98149511FB6A3F7005F00B4 /* MVKEnvironment.h in Headers */, A948BB7F1E51642700DE59F2 /* mvk_vulkan.h in Headers */, + A98149511FB6A3F7005F00B4 /* MVKEnvironment.h in Headers */, A94FB8101C7DFB4800632CA3 /* MVKSurface.h in Headers */, A9E53E0121064F84002781DD /* MTLRenderPipelineDescriptor+MoltenVK.h in Headers */, A94FB7F41C7DFB4800632CA3 /* MVKInstance.h in Headers */, @@ -648,11 +648,11 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A94FB7B51C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */, A909F660213B190700FCD6BE /* MVKExtensions.h in Headers */, + A94FB7B51C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */, A94FB7B11C7DFB4800632CA3 /* mvk_datatypes.h in Headers */, - A98149521FB6A3F7005F00B4 /* MVKEnvironment.h in Headers */, A948BB801E51642700DE59F2 /* mvk_vulkan.h in Headers */, + A98149521FB6A3F7005F00B4 /* MVKEnvironment.h in Headers */, A94FB8111C7DFB4800632CA3 /* MVKSurface.h in Headers */, A9E53E0221064F84002781DD /* MTLRenderPipelineDescriptor+MoltenVK.h in Headers */, A94FB7F51C7DFB4800632CA3 /* MVKInstance.h in Headers */, @@ -715,6 +715,7 @@ A9B8EE071A98D796009C5A02 /* Headers */, A9B8EE051A98D796009C5A02 /* Sources */, A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */, + A92EF79721854B3300C8B91B /* Create Framework */, ); buildRules = ( ); @@ -722,9 +723,9 @@ A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */, ); name = "MoltenVK-iOS"; - productName = MetalGL; - productReference = A9B8EE0A1A98D796009C5A02 /* MoltenVK.framework */; - productType = "com.apple.product-type.framework"; + productName = MoltenVK; + productReference = A9B8EE0A1A98D796009C5A02 /* libMoltenVK.a */; + productType = "com.apple.product-type.library.static"; }; A9CBED861B6299D800E45FDC /* MoltenVK-macOS */ = { isa = PBXNativeTarget; @@ -733,6 +734,7 @@ A9CBED871B6299D800E45FDC /* Headers */, A9CBEDCE1B6299D800E45FDC /* Sources */, A93F47C91D7E389E002AF700 /* Create Dynamic Library */, + A92EF78D21852B2400C8B91B /* Create Framework */, ); buildRules = ( ); @@ -740,9 +742,9 @@ A98149A41FB6B9EB005F00B4 /* PBXTargetDependency */, ); name = "MoltenVK-macOS"; - productName = MetalGL; - productReference = A9CBEE011B6299D800E45FDC /* MoltenVK.framework */; - productType = "com.apple.product-type.framework"; + productName = MoltenVK; + productReference = A9CBEE011B6299D800E45FDC /* libMoltenVK.a */; + productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -825,6 +827,42 @@ /* End PBXReferenceProxy section */ /* Begin PBXShellScriptBuildPhase section */ + A92EF78D21852B2400C8B91B /* Create Framework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Create Framework"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export MVK_OS=\"macOS\"\nexport MVK_FRWK_SUBPATH=\"/Versions/A\"\n\n\"${SRCROOT}/scripts/create_framework.sh\"\n"; + }; + A92EF79721854B3300C8B91B /* Create Framework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Create Framework"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export MVK_OS=\"iOS\"\nexport MVK_FRWK_SUBPATH=\"\"\n\n\"${SRCROOT}/scripts/create_framework.sh\"\n"; + }; A93F47C91D7E389E002AF700 /* Create Dynamic Library */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -837,7 +875,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/scripts/create_dylib_macos.sh\""; + shellScript = "export MVK_OS=\"macosx\"\nexport MVK_ARCH=\"x86_64\"\nexport MVK_UX_FWK=\"AppKit\"\nexport MVK_MIN_OS_VERSION=${MACOSX_DEPLOYMENT_TARGET}\nexport MVK_IOSURFACE_FWK=\"-framework IOSurface\"\n\n\"${SRCROOT}/scripts/create_dylib.sh\"\n"; }; A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */ = { isa = PBXShellScriptBuildPhase; @@ -851,7 +889,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "${SRCROOT}/scripts/create_dylib_ios.sh"; + shellScript = "export MVK_OS=\"ios\"\nexport MVK_ARCH=\"arm64\"\nexport MVK_UX_FWK=\"UIKit\"\nexport MVK_MIN_OS_VERSION=${IPHONEOS_DEPLOYMENT_TARGET}\nexport MVK_IOSURFACE_FWK=\"-framework IOSurface\"\n\n# Do not link to IOSurface if deploying to iOS versions below 11.0, doing so will\n# link IOSurface as a private framework, which will trigger App Store rejection.\nif [ $(echo \"${MVK_MIN_OS_VERSION} < 11.0\" | bc) -eq 1 ]; then\n MVK_IOSURFACE_FWK=\"\"\nfi\n\n\"${SRCROOT}/scripts/create_dylib.sh\"\n"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme index 86fc06d1..678103b3 100644 --- a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme +++ b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme @@ -15,7 +15,7 @@ @@ -51,7 +51,7 @@ @@ -69,7 +69,7 @@ diff --git a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme index 1155111e..9c9303cc 100644 --- a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme +++ b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme @@ -15,7 +15,7 @@ @@ -51,7 +51,7 @@ @@ -69,7 +69,7 @@ diff --git a/MoltenVK/scripts/create_dylib_macos.sh b/MoltenVK/scripts/create_dylib.sh similarity index 52% rename from MoltenVK/scripts/create_dylib_macos.sh rename to MoltenVK/scripts/create_dylib.sh index 2cf63b07..8dc01293 100755 --- a/MoltenVK/scripts/create_dylib_macos.sh +++ b/MoltenVK/scripts/create_dylib.sh @@ -2,9 +2,7 @@ set -e -export MVK_PROD_NAME="MoltenVK" -export MVK_DYLIB_NAME="lib${MVK_PROD_NAME}.dylib" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}" +export MVK_DYLIB_NAME="lib${PRODUCT_NAME}.dylib" export MVK_SYS_FWK_DIR="${SDK_DIR}/System/Library/Frameworks" export MVK_USR_LIB_DIR="${SDK_DIR}/usr/lib" @@ -14,15 +12,15 @@ fi clang \ -dynamiclib ${MVK_TSAN} \ --arch x86_64 \ --mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} \ +-arch ${MVK_ARCH} \ +-m${MVK_OS}-version-min=${MVK_MIN_OS_VERSION} \ -compatibility_version 1.0.0 -current_version 1.0.0 \ -install_name "@rpath/${MVK_DYLIB_NAME}" \ -Wno-incompatible-sysroot \ -isysroot ${SDK_DIR} \ -iframework ${MVK_SYS_FWK_DIR} \ --framework Metal -framework IOSurface -framework IOKit -framework QuartzCore -framework AppKit -framework Foundation \ +-framework Metal ${MVK_IOSURFACE_FWK} -framework ${MVK_UX_FWK} -framework QuartzCore -framework IOKit -framework Foundation \ --library-directory ${MVK_USR_LIB_DIR} \ -lSystem -lc++ \ --o "${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}" \ --force_load "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/${MVK_PROD_NAME}" +-o "${BUILT_PRODUCTS_DIR}/${MVK_DYLIB_NAME}" \ +-force_load "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a" diff --git a/MoltenVK/scripts/create_dylib_ios.sh b/MoltenVK/scripts/create_dylib_ios.sh deleted file mode 100755 index f1c1fc73..00000000 --- a/MoltenVK/scripts/create_dylib_ios.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -set -e - -export MVK_PROD_NAME="MoltenVK" -export MVK_DYLIB_NAME="lib${MVK_PROD_NAME}.dylib" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}" -export MVK_SYS_FWK_DIR="${SDK_DIR}/System/Library/Frameworks" -export MVK_USR_LIB_DIR="${SDK_DIR}/usr/lib" - -# Do not link to IOSurface if deploying to iOS versions below 11.0, doing so will -# link IOSurface as a private framework, which will trigger App Store rejection. -if [ $(echo "${IPHONEOS_DEPLOYMENT_TARGET} >= 11.0" | bc) -eq 1 ] -then - export MVK_IOSURFACE_FWK="-framework IOSurface" -else - export MVK_IOSURFACE_FWK="" -fi - -clang \ --dynamiclib \ --arch arm64 \ --mios-version-min=${IPHONEOS_DEPLOYMENT_TARGET} \ --compatibility_version 1.0.0 -current_version 1.0.0 \ --install_name "@rpath/${MVK_DYLIB_NAME}" \ --Wno-incompatible-sysroot \ --isysroot ${SDK_DIR} \ --iframework ${MVK_SYS_FWK_DIR} \ --framework Metal ${MVK_IOSURFACE_FWK} -framework UIKit -framework QuartzCore -framework UIKit -framework Foundation \ ---library-directory ${MVK_USR_LIB_DIR} \ --lSystem -lc++ \ --o "${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}" \ --force_load "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/${MVK_PROD_NAME}" diff --git a/MoltenVK/scripts/create_framework.sh b/MoltenVK/scripts/create_framework.sh new file mode 100755 index 00000000..2fa738f3 --- /dev/null +++ b/MoltenVK/scripts/create_framework.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -e + +export MVK_TMPLT_PATH="${PROJECT_DIR}/templates/framework/${MVK_OS}" +export MVK_BUILT_FRWK_PATH="${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework" +export MVK_BUILT_FRWK_CONTENT_PATH="${MVK_BUILT_FRWK_PATH}${MVK_FRWK_SUBPATH}" + +rm -rf "${MVK_BUILT_FRWK_PATH}" +cp -a "${MVK_TMPLT_PATH}/${PRODUCT_NAME}.framework" "${BUILT_PRODUCTS_DIR}" +cp -a "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a" "${MVK_BUILT_FRWK_CONTENT_PATH}/${PRODUCT_NAME}" +cp -a "${PROJECT_DIR}/include/${PRODUCT_NAME}/" "${MVK_BUILT_FRWK_CONTENT_PATH}/Headers" diff --git a/MoltenVK/templates/framework/macOS/MoltenVK.framework/Headers b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Headers new file mode 120000 index 00000000..a177d2a6 --- /dev/null +++ b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/MoltenVK/templates/framework/macOS/MoltenVK.framework/MoltenVK b/MoltenVK/templates/framework/macOS/MoltenVK.framework/MoltenVK new file mode 120000 index 00000000..97628cd0 --- /dev/null +++ b/MoltenVK/templates/framework/macOS/MoltenVK.framework/MoltenVK @@ -0,0 +1 @@ +Versions/Current/MoltenVK \ No newline at end of file diff --git a/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/Current b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/Current new file mode 120000 index 00000000..8c7e5a66 --- /dev/null +++ b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/MoltenVKPackaging.xcodeproj/project.pbxproj b/MoltenVKPackaging.xcodeproj/project.pbxproj index 2929f50f..d8f871b4 100644 --- a/MoltenVKPackaging.xcodeproj/project.pbxproj +++ b/MoltenVKPackaging.xcodeproj/project.pbxproj @@ -40,16 +40,10 @@ isa = PBXAggregateTarget; buildConfigurationList = A9FEADDC1F3517480010240E /* Build configuration list for PBXAggregateTarget "MoltenVK" */; buildPhases = ( - A9FEADD61F3517480010240E /* Package MoltenVK */, ); dependencies = ( - A9FEADBD1F3517480010240E /* PBXTargetDependency */, - A9FEADBF1F3517480010240E /* PBXTargetDependency */, - A98149D11FB7689D005F00B4 /* PBXTargetDependency */, - A98149D31FB7689D005F00B4 /* PBXTargetDependency */, - A98149CD1FB7689D005F00B4 /* PBXTargetDependency */, - A98149CF1FB7689D005F00B4 /* PBXTargetDependency */, - A98149CB1FB7689D005F00B4 /* PBXTargetDependency */, + A9AFC2602184EEF60084B396 /* PBXTargetDependency */, + A9AFC2622184EEF60084B396 /* PBXTargetDependency */, ); name = MoltenVK; productName = Package; @@ -155,53 +149,18 @@ remoteGlobalIDString = A93903C71C57E9ED00FE90DC; remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS"; }; - A98149CA1FB7689D005F00B4 /* PBXContainerItemProxy */ = { + A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */; + containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */; proxyType = 1; - remoteGlobalIDString = A9092A8C1A81717B00051823; - remoteInfo = MoltenVKShaderConverter; - }; - A98149CC1FB7689D005F00B4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A937472B1A9A8B2900F29B34; - remoteInfo = "MoltenVKGLSLToSPIRVConverter-iOS"; - }; - A98149CE1FB7689D005F00B4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A93747701A9A98D000F29B34; - remoteInfo = "MoltenVKGLSLToSPIRVConverter-macOS"; - }; - A98149D01FB7689D005F00B4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A93903B81C57E9D700FE90DC; - remoteInfo = "MoltenVKSPIRVToMSLConverter-iOS"; - }; - A98149D21FB7689D005F00B4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A93903C01C57E9ED00FE90DC; - remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS"; - }; - A9FEADBE1F3517480010240E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A9B8EE091A98D796009C5A02; + remoteGlobalIDString = A975D5782140585200D4834F; remoteInfo = "MoltenVK-iOS"; }; - A9FEADC01F3517480010240E /* PBXContainerItemProxy */ = { + A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */; + containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */; proxyType = 1; - remoteGlobalIDString = A9CBED861B6299D800E45FDC; + remoteGlobalIDString = A975D58B2140586700D4834F; remoteInfo = "MoltenVK-macOS"; }; /* End PBXContainerItemProxy section */ @@ -212,15 +171,18 @@ A92DB3E61CE0F37D00FBC835 /* Whats_New.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = Whats_New.md; path = Docs/Whats_New.md; sourceTree = ""; }; A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVK.xcodeproj; path = MoltenVK/MoltenVK.xcodeproj; sourceTree = ""; }; A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVKShaderConverter.xcodeproj; path = MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj; sourceTree = ""; }; + A92EF7C521856EA200C8B91B /* package_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ios.sh; sourceTree = ""; }; + A92EF7C621856EA200C8B91B /* package_moltenvk.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk.sh; sourceTree = ""; }; + A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_tool.sh; sourceTree = ""; }; + A92EF7C821856EA200C8B91B /* package_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_macos.sh; sourceTree = ""; }; + A92EF7C921856EA200C8B91B /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = ""; }; + A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = ""; }; + A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = ""; }; + A92EF7DE2186451700C8B91B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = ""; }; A943100220546CDD00F5CF87 /* fetchDependencies */ = {isa = PBXFileReference; lastKnownFileType = text; name = fetchDependencies; path = ../fetchDependencies; sourceTree = ""; }; - A975D55C213F25D700D4834F /* create_dylib_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_dylib_ios.sh; path = MoltenVK/scripts/create_dylib_ios.sh; sourceTree = SOURCE_ROOT; }; - A975D55D213F266000D4834F /* create_dylib_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_dylib_macos.sh; path = MoltenVK/scripts/create_dylib_macos.sh; sourceTree = SOURCE_ROOT; }; - A975D561213F299500D4834F /* update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = update_latest.sh; sourceTree = ""; }; - A975D562213F2B7700D4834F /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = ""; }; - A975D566213F2DAA00D4834F /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = ""; }; - A975D573214050AB00D4834F /* package_moltenvk.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk.sh; sourceTree = ""; }; - A975D5742140567B00D4834F /* package_all.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_all.sh; sourceTree = ""; }; + A975D55C213F25D700D4834F /* create_dylib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_dylib.sh; path = ../MoltenVK/scripts/create_dylib.sh; sourceTree = ""; }; A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = MoltenVK_Runtime_UserGuide.md; path = Docs/MoltenVK_Runtime_UserGuide.md; sourceTree = ""; }; + A99A760321852584000A8E2A /* create_framework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_framework.sh; path = ../MoltenVK/scripts/create_framework.sh; sourceTree = ""; }; A9AD67D12054E2D700ED3C08 /* VulkanSamples_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = VulkanSamples_repo_revision; sourceTree = ""; }; A9AD67D32054E2D700ED3C08 /* SPIRV-Cross_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = "SPIRV-Cross_repo_revision"; sourceTree = ""; }; A9AD67E92055D8A600ED3C08 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; @@ -256,8 +218,8 @@ A92DB3EF1CE0F72500FBC835 /* Products */ = { isa = PBXGroup; children = ( - A92DB3F51CE0F72500FBC835 /* MoltenVK.framework */, - A92DB3F71CE0F72500FBC835 /* MoltenVK.framework */, + A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */, + A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */, ); name = Products; sourceTree = ""; @@ -281,13 +243,16 @@ A975D55B213F25AD00D4834F /* Scripts */ = { isa = PBXGroup; children = ( - A975D55C213F25D700D4834F /* create_dylib_ios.sh */, - A975D55D213F266000D4834F /* create_dylib_macos.sh */, - A975D5742140567B00D4834F /* package_all.sh */, - A975D562213F2B7700D4834F /* package_docs.sh */, - A975D573214050AB00D4834F /* package_moltenvk.sh */, - A975D566213F2DAA00D4834F /* package_shader_converter.sh */, - A975D561213F299500D4834F /* update_latest.sh */, + A975D55C213F25D700D4834F /* create_dylib.sh */, + A99A760321852584000A8E2A /* create_framework.sh */, + A92EF7C921856EA200C8B91B /* package_docs.sh */, + A92EF7C521856EA200C8B91B /* package_ios.sh */, + A92EF7C821856EA200C8B91B /* package_macos.sh */, + A92EF7C621856EA200C8B91B /* package_moltenvk.sh */, + A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */, + A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */, + A92EF7CA21856EA200C8B91B /* package_update_latest.sh */, + A92EF7DE2186451700C8B91B /* Makefile */, ); path = Scripts; sourceTree = ""; @@ -346,17 +311,17 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - A92DB3F51CE0F72500FBC835 /* MoltenVK.framework */ = { + A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */ = { isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = MoltenVK.framework; + fileType = archive.ar; + path = libMoltenVK.a; remoteRef = A92DB3F41CE0F72500FBC835 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - A92DB3F71CE0F72500FBC835 /* MoltenVK.framework */ = { + A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */ = { isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = MoltenVK.framework; + fileType = archive.ar; + path = libMoltenVK.a; remoteRef = A92DB3F61CE0F72500FBC835 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -410,7 +375,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Scripts/package_all.sh\"\n"; + shellScript = "\"${SRCROOT}/Scripts/package_ios.sh\"\n"; }; A975D59A2140586700D4834F /* Package MoltenVK */ = { isa = PBXShellScriptBuildPhase; @@ -424,21 +389,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Scripts/package_all.sh\""; - }; - A9FEADD61F3517480010240E /* Package MoltenVK */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Package MoltenVK"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Scripts/package_all.sh\"\n"; + shellScript = "\"${SRCROOT}/Scripts/package_macos.sh\"\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -478,40 +429,15 @@ name = MoltenVKShaderConverter; targetProxy = A975D5992140586700D4834F /* PBXContainerItemProxy */; }; - A98149CB1FB7689D005F00B4 /* PBXTargetDependency */ = { + A9AFC2602184EEF60084B396 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = MoltenVKShaderConverter; - targetProxy = A98149CA1FB7689D005F00B4 /* PBXContainerItemProxy */; + target = A975D5782140585200D4834F /* MoltenVK-iOS */; + targetProxy = A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */; }; - A98149CD1FB7689D005F00B4 /* PBXTargetDependency */ = { + A9AFC2622184EEF60084B396 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "MoltenVKGLSLToSPIRVConverter-iOS"; - targetProxy = A98149CC1FB7689D005F00B4 /* PBXContainerItemProxy */; - }; - A98149CF1FB7689D005F00B4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "MoltenVKGLSLToSPIRVConverter-macOS"; - targetProxy = A98149CE1FB7689D005F00B4 /* PBXContainerItemProxy */; - }; - A98149D11FB7689D005F00B4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "MoltenVKSPIRVToMSLConverter-iOS"; - targetProxy = A98149D01FB7689D005F00B4 /* PBXContainerItemProxy */; - }; - A98149D31FB7689D005F00B4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "MoltenVKSPIRVToMSLConverter-macOS"; - targetProxy = A98149D21FB7689D005F00B4 /* PBXContainerItemProxy */; - }; - A9FEADBD1F3517480010240E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "MoltenVK-iOS"; - targetProxy = A9FEADBE1F3517480010240E /* PBXContainerItemProxy */; - }; - A9FEADBF1F3517480010240E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "MoltenVK-macOS"; - targetProxy = A9FEADC01F3517480010240E /* PBXContainerItemProxy */; + target = A975D58B2140586700D4834F /* MoltenVK-macOS */; + targetProxy = A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ diff --git a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug) (iOS only).xcscheme b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug) (iOS only).xcscheme deleted file mode 100644 index fe1548ce..00000000 --- a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug) (iOS only).xcscheme +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug) (macOS only).xcscheme b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug) (macOS only).xcscheme deleted file mode 100644 index fb4c6a20..00000000 --- a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug) (macOS only).xcscheme +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug).xcscheme b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug).xcscheme index 64620291..5a51a8c0 100644 --- a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug).xcscheme +++ b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (Debug).xcscheme @@ -1,7 +1,7 @@ + version = "2.0"> @@ -36,13 +36,17 @@ buildConfiguration = "Debug" 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 = "1" - allowLocationSimulation = "NO"> + enableGPUFrameCaptureMode = "3" + enableGPUValidationMode = "1" + allowLocationSimulation = "NO" + queueDebuggingEnabled = "No"> diff --git a/Scripts/package_docs.sh b/Scripts/package_docs.sh index 2d634d4e..4d1cfb26 100755 --- a/Scripts/package_docs.sh +++ b/Scripts/package_docs.sh @@ -3,10 +3,8 @@ set -e # Package folder -export MVK_WKSPC_PATH="${PROJECT_DIR}" -export MVK_PKG_LOCN="${MVK_WKSPC_PATH}/Package" -export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}" +export MVK_PKG_CONFIG_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}" -# Copy the docs. Allow silent fail if a symlinked doc is not built. -cp -a "${MVK_WKSPC_PATH}/LICENSE" "${MVK_PKG_CONFIG_PATH}" -cp -pRLf "${MVK_WKSPC_PATH}/Docs" "${MVK_PKG_CONFIG_PATH}" 2> /dev/null || true +# Copy the docs. +cp -a "${PROJECT_DIR}/Docs" "${MVK_PKG_CONFIG_PATH}" +cp -a "${PROJECT_DIR}/LICENSE" "${MVK_PKG_CONFIG_PATH}" diff --git a/Scripts/package_all.sh b/Scripts/package_ios.sh similarity index 52% rename from Scripts/package_all.sh rename to Scripts/package_ios.sh index dbcbcedd..ef8e6583 100755 --- a/Scripts/package_all.sh +++ b/Scripts/package_ios.sh @@ -1,7 +1,10 @@ #!/bin/bash +export MVK_OS="iOS" +export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos" + "${SRCROOT}/Scripts/package_moltenvk.sh" "${SRCROOT}/Scripts/package_shader_converter.sh" "${SRCROOT}/Scripts/package_docs.sh" -"${SRCROOT}/Scripts/update_latest.sh" +"${SRCROOT}/Scripts/package_update_latest.sh" diff --git a/Scripts/package_macos.sh b/Scripts/package_macos.sh new file mode 100755 index 00000000..37401588 --- /dev/null +++ b/Scripts/package_macos.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +export MVK_OS="macOS" +export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}" + +"${SRCROOT}/Scripts/package_moltenvk.sh" +"${SRCROOT}/Scripts/package_shader_converter.sh" +"${SRCROOT}/Scripts/package_shader_converter_tool.sh" +"${SRCROOT}/Scripts/package_docs.sh" +"${SRCROOT}/Scripts/package_update_latest.sh" + diff --git a/Scripts/package_moltenvk.sh b/Scripts/package_moltenvk.sh index c22562ef..f76b31c4 100755 --- a/Scripts/package_moltenvk.sh +++ b/Scripts/package_moltenvk.sh @@ -2,42 +2,23 @@ set -e -# Package folder export MVK_PROD_NAME="MoltenVK" -export MVK_DYLIB_NAME="lib${MVK_PROD_NAME}.dylib" -export MVK_ICD_NAME="${MVK_PROD_NAME}_icd.json" -export MVK_WKSPC_PATH="${PROJECT_DIR}" -export MVK_PROD_PROJ_PATH="${MVK_WKSPC_PATH}/${MVK_PROD_NAME}" -export MVK_PKG_LOCN="${MVK_WKSPC_PATH}/Package" -export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}" -export MVK_PKG_PROD_PATH="${MVK_PKG_CONFIG_PATH}/${MVK_PROD_NAME}" +export MVK_PROD_PROJ_PATH="${PROJECT_DIR}/${MVK_PROD_NAME}" +export MVK_PKG_PROD_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}" +export MVK_PKG_PROD_PATH_OS="${MVK_PKG_PROD_PATH}/${MVK_OS}" -# Remove the product folder -rm -rf "${MVK_PKG_PROD_PATH}" +rm -rf "${MVK_PKG_PROD_PATH_OS}" +mkdir -p "${MVK_PKG_PROD_PATH_OS}/static" +cp -a "${MVK_BUILT_PROD_PATH}/lib${MVK_PROD_NAME}.a" "${MVK_PKG_PROD_PATH_OS}/static" +mkdir -p "${MVK_PKG_PROD_PATH_OS}/dynamic" +cp -a "${MVK_BUILT_PROD_PATH}/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic" +cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_PROD_NAME}_icd.json" "${MVK_PKG_PROD_PATH_OS}/dynamic" +mkdir -p "${MVK_PKG_PROD_PATH_OS}/framework" +cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework" -# Remove and replace the existing macOS framework folder and copy framework into it -export MVK_OS_PROD_PATH="${MVK_PKG_PROD_PATH}/macOS" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}" -rm -rf "${MVK_OS_PROD_PATH}" -if [ -e "${MVK_BUILT_PROD_PATH}" ]; then - mkdir -p "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}" "${MVK_OS_PROD_PATH}" - cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_ICD_NAME}" "${MVK_OS_PROD_PATH}" -fi +# Remove the code signature +rm -rf "${MVK_PKG_PROD_PATH_OS}/framework/${MVK_PROD_NAME}.framework/_CodeSignature" -# Remove and replace the existing iOS framework folder and copy framework into it -export MVK_OS_PROD_PATH="${MVK_PKG_PROD_PATH}/iOS" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos" -rm -rf "${MVK_OS_PROD_PATH}" -echo MVK_BUILT_PROD_PATH = "${MVK_BUILT_PROD_PATH}" -if [ -e "${MVK_BUILT_PROD_PATH}" ]; then - rm -rf "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/_CodeSignature" - mkdir -p "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}" "${MVK_OS_PROD_PATH}" - cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_ICD_NAME}" "${MVK_OS_PROD_PATH}" -fi # Remove and replace header include folder rm -rf "${MVK_PKG_PROD_PATH}/include" cp -pRL "${MVK_PROD_PROJ_PATH}/include" "${MVK_PKG_PROD_PATH}" diff --git a/Scripts/package_shader_converter.sh b/Scripts/package_shader_converter.sh index fc001a41..410f00f8 100755 --- a/Scripts/package_shader_converter.sh +++ b/Scripts/package_shader_converter.sh @@ -2,72 +2,25 @@ set -e -# Package folder export MVK_PROD_BASE_NAME="MoltenVKShaderConverter" -export MVK_WKSPC_PATH="${PROJECT_DIR}" -export MVK_PKG_LOCN="${MVK_WKSPC_PATH}/Package" - -# Remove the base product folder -rm -rf "${MVK_PKG_LOCN}/${CONFIGURATION}/${MVK_PROD_BASE_NAME}" +export MVK_PKG_CONFIG_BASE_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}" #----------------------------------- # MoltenVKGLSLToSPIRVConverter export MVK_PROD_NAME="MoltenVKGLSLToSPIRVConverter" -export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}/${MVK_PROD_BASE_NAME}/${MVK_PROD_NAME}" +export MVK_PKG_PROD_PATH_OS="${MVK_PKG_CONFIG_BASE_PATH}/${MVK_PROD_NAME}/${MVK_OS}" -# Remove and replace the existing macOS framework folder and copy framework into it -export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/macOS" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}" -rm -rf "${MVK_OS_PROD_PATH}" -if [ -e "${MVK_BUILT_PROD_PATH}" ]; then - mkdir -p "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}" -fi - -# Remove and replace the existing iOS framework folder and copy framework into it -export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/iOS" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos" -rm -rf "${MVK_OS_PROD_PATH}" -if [ -e "${MVK_BUILT_PROD_PATH}" ]; then - rm -rf "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/_CodeSignature" - mkdir -p "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}" -fi +rm -rf "${MVK_PKG_PROD_PATH_OS}" +mkdir -p "${MVK_PKG_PROD_PATH_OS}" +cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}" +rm -rf "${MVK_PKG_PROD_PATH_OS}/${MVK_PROD_NAME}.framework/_CodeSignature" #----------------------------------- # MoltenVKSPIRVToMSLConverter export MVK_PROD_NAME="MoltenVKSPIRVToMSLConverter" -export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}/${MVK_PROD_BASE_NAME}/${MVK_PROD_NAME}" +export MVK_PKG_PROD_PATH_OS="${MVK_PKG_CONFIG_BASE_PATH}/${MVK_PROD_NAME}/${MVK_OS}" -# Remove and replace the existing macOS framework folder and copy framework into it -export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/macOS" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}" -rm -rf "${MVK_OS_PROD_PATH}" -if [ -e "${MVK_BUILT_PROD_PATH}" ]; then - mkdir -p "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}" -fi - -# Remove and replace the existing iOS framework folder and copy framework into it -export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/iOS" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos" -rm -rf "${MVK_OS_PROD_PATH}" -if [ -e "${MVK_BUILT_PROD_PATH}" ]; then - rm -rf "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/_CodeSignature" - mkdir -p "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}" -fi - -#----------------------------------- -# MoltenVKShaderConverter Tool -export MVK_PROD_NAME="MoltenVKShaderConverter" -export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}/${MVK_PROD_BASE_NAME}" - -# Remove and replace the existing macOS framework folder and copy framework into it -export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/Tools" -export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}" -rm -rf "${MVK_OS_PROD_PATH}" -if [ -e "${MVK_BUILT_PROD_PATH}" ]; then - mkdir -p "${MVK_OS_PROD_PATH}" - cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}" "${MVK_OS_PROD_PATH}" -fi +rm -rf "${MVK_PKG_PROD_PATH_OS}" +mkdir -p "${MVK_PKG_PROD_PATH_OS}" +cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}" +rm -rf "${MVK_PKG_PROD_PATH_OS}/${MVK_PROD_NAME}.framework/_CodeSignature" diff --git a/Scripts/package_shader_converter_tool.sh b/Scripts/package_shader_converter_tool.sh new file mode 100755 index 00000000..e893ec60 --- /dev/null +++ b/Scripts/package_shader_converter_tool.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -e + +export MVK_PROD_NAME="MoltenVKShaderConverter" +export MVK_PKG_PROD_PATH_OS="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}/Tools" + +rm -rf "${MVK_PKG_PROD_PATH_OS}" +mkdir -p "${MVK_PKG_PROD_PATH_OS}" +cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}" "${MVK_PKG_PROD_PATH_OS}" diff --git a/Scripts/package_update_latest.sh b/Scripts/package_update_latest.sh new file mode 100755 index 00000000..80323555 --- /dev/null +++ b/Scripts/package_update_latest.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -e + +# Package folder +export MVK_PKG_PATH="${PROJECT_DIR}/Package" + +# Assign symlink to Latest +ln -sfn "${MVK_PKG_PATH}/${CONFIGURATION}" "${MVK_PKG_PATH}/Latest" diff --git a/Scripts/update_latest.sh b/Scripts/update_latest.sh deleted file mode 100755 index 8abc75c1..00000000 --- a/Scripts/update_latest.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -set -e - -# Package folder -export MVK_WKSPC_LOCN="${PROJECT_DIR}" -export MVK_PKG_LOCN="${MVK_WKSPC_LOCN}/Package" - -# Configuration package folder location -export MVK_PKG_CONFIG_LOCN="${CONFIGURATION}" -export MVK_PKG_LATEST_LOCN="Latest" - -# Assign symlink from Latest -ln -sfn "${MVK_PKG_LOCN}/${MVK_PKG_CONFIG_LOCN}" "${MVK_PKG_LOCN}/${MVK_PKG_LATEST_LOCN}"