Merge simulator support with tvOS support.

This commit is contained in:
Bill Hollings 2020-06-19 15:05:43 -04:00
commit ac204382db
36 changed files with 584 additions and 183 deletions

View File

@ -641,6 +641,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
FRAMEWORK_SEARCH_PATHS = (
"\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"",
@ -655,6 +656,7 @@
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MARKETING_VERSION = 1;
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.API-Samples";
PRODUCT_NAME = "API-Samples";
SDKROOT = iphoneos;
@ -666,6 +668,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
FRAMEWORK_SEARCH_PATHS = (
"\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"",
@ -676,6 +679,7 @@
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MARKETING_VERSION = 1;
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.API-Samples";
PRODUCT_NAME = "API-Samples";
SDKROOT = iphoneos;

View File

@ -16,10 +16,14 @@
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>UIMainStoryboardFile</key>

View File

@ -346,6 +346,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
@ -356,6 +357,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@ -366,6 +368,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
@ -376,6 +379,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";

View File

@ -16,10 +16,14 @@
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>UIMainStoryboardFile</key>

View File

@ -353,11 +353,13 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
MARKETING_VERSION = 1;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
@ -367,11 +369,13 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
MARKETING_VERSION = 1;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};

View File

@ -16,10 +16,14 @@
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>UIMainStoryboardFile</key>

View File

@ -11,6 +11,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = 2FEA0AE52490320500EEF3AD /* Build configuration list for PBXAggregateTarget "ExternalDependencies-tvOS" */;
buildPhases = (
A9A5F2C1249D09820016D8B1 /* Create Fat Libraries */,
2FEA0AE42490320500EEF3AD /* Package External Libraries */,
);
dependencies = (
@ -25,7 +26,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = A972A7E721CEC72F0013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-macOS" */;
buildPhases = (
A9679AB021D26C7000856BF7 /* Package External Libraries */,
A9679AB021D26C7000856BF7 /* Package Libraries */,
);
dependencies = (
A972A7E921CEC76A0013AB25 /* PBXTargetDependency */,
@ -39,7 +40,8 @@
isa = PBXAggregateTarget;
buildConfigurationList = A972A7ED21CEC8030013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-iOS" */;
buildPhases = (
A9679AAF21D26C1400856BF7 /* Package External Libraries */,
A932E9C6249A7B9B00D64150 /* Create Fat Libraries */,
A9679AAF21D26C1400856BF7 /* Package Libraries */,
);
dependencies = (
A972A7F121CEC8140013AB25 /* PBXTargetDependency */,
@ -1652,12 +1654,13 @@
2FEA0B4A2490321700EEF3AD /* libglslang.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libglslang.a; sourceTree = BUILT_PRODUCTS_DIR; };
2FEA0CD82490322100EEF3AD /* libSPIRVTools.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVTools.a; sourceTree = BUILT_PRODUCTS_DIR; };
2FEA0CEF2490322B00EEF3AD /* libSPIRVCross.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVCross.a; sourceTree = BUILT_PRODUCTS_DIR; };
2FEA0CF6249032CF00EEF3AD /* package_ext_libs_tvos.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = package_ext_libs_tvos.sh; sourceTree = "<group>"; };
450A4F63221C5A95007203D7 /* spirv_reflect.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_reflect.hpp; sourceTree = "<group>"; };
450A4F64221C5A95007203D7 /* spirv_reflect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_reflect.cpp; sourceTree = "<group>"; };
A90FD89F21CC4EAB00B92BB2 /* libSPIRVCross.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVCross.a; sourceTree = BUILT_PRODUCTS_DIR; };
A90FD9E421CC4EB900B92BB2 /* libSPIRVCross.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVCross.a; sourceTree = BUILT_PRODUCTS_DIR; };
A91BF011235F9C510039B7DE /* gen_spirv_cross_rev_hdr.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = gen_spirv_cross_rev_hdr.sh; sourceTree = "<group>"; };
A932E9C5249A743B00D64150 /* create_fat_lib_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_lib_func.sh; sourceTree = "<group>"; };
A932E9DF249BC44D00D64150 /* create_fat_ext_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_ext_libs.sh; sourceTree = "<group>"; };
A9415EF624366B0E00566F16 /* packagePregenSpirvToolsHeaders */ = {isa = PBXFileReference; lastKnownFileType = text; path = packagePregenSpirvToolsHeaders; sourceTree = "<group>"; };
A95D90A723A7F1E500CBCC60 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
A95D90AA23A7F1E500CBCC60 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
@ -1761,8 +1764,6 @@
A95D911923A7F1E500CBCC60 /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = "<group>"; };
A95D911A23A7F1E500CBCC60 /* doc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = doc.cpp; sourceTree = "<group>"; };
A95D911B23A7F1E500CBCC60 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
A9679AAC21D269D900856BF7 /* package_ext_libs_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs_macos.sh; sourceTree = "<group>"; };
A9679AAD21D269D900856BF7 /* package_ext_libs_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs_ios.sh; sourceTree = "<group>"; };
A9679AAE21D269D900856BF7 /* package_ext_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs.sh; sourceTree = "<group>"; };
A972A80F21CECBBF0013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVTools.a; sourceTree = BUILT_PRODUCTS_DIR; };
A972A82321CECBE90013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVTools.a; sourceTree = BUILT_PRODUCTS_DIR; };
@ -2387,10 +2388,9 @@
A9679AAB21D2699800856BF7 /* Scripts */ = {
isa = PBXGroup;
children = (
A932E9DF249BC44D00D64150 /* create_fat_ext_libs.sh */,
A932E9C5249A743B00D64150 /* create_fat_lib_func.sh */,
A91BF011235F9C510039B7DE /* gen_spirv_cross_rev_hdr.sh */,
A9679AAD21D269D900856BF7 /* package_ext_libs_ios.sh */,
2FEA0CF6249032CF00EEF3AD /* package_ext_libs_tvos.sh */,
A9679AAC21D269D900856BF7 /* package_ext_libs_macos.sh */,
A9679AAE21D269D900856BF7 /* package_ext_libs.sh */,
A9415EF624366B0E00566F16 /* packagePregenSpirvToolsHeaders */,
);
@ -2420,10 +2420,13 @@
isa = PBXGroup;
children = (
A90FD89F21CC4EAB00B92BB2 /* libSPIRVCross.a */,
2FEA0CEF2490322B00EEF3AD /* libSPIRVCross.a */,
A90FD9E421CC4EB900B92BB2 /* libSPIRVCross.a */,
A972A80F21CECBBF0013AB25 /* libSPIRVTools.a */,
2FEA0CD82490322100EEF3AD /* libSPIRVTools.a */,
A972A82321CECBE90013AB25 /* libSPIRVTools.a */,
A972ABDC21CED7BC0013AB25 /* libglslang.a */,
2FEA0B4A2490321700EEF3AD /* libglslang.a */,
A972ABF021CED7CB0013AB25 /* libglslang.a */,
);
name = Products;
@ -2907,9 +2910,6 @@
A90FD9E921CC519E00B92BB2 /* External */,
A9679AAB21D2699800856BF7 /* Scripts */,
A972AD2421CEE30F0013AB25 /* Products */,
2FEA0CD82490322100EEF3AD /* libSPIRVTools.a */,
2FEA0B4A2490321700EEF3AD /* libglslang.a */,
2FEA0CEF2490322B00EEF3AD /* libSPIRVCross.a */,
);
sourceTree = "<group>";
};
@ -3941,7 +3941,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Scripts/package_ext_libs_tvos.sh\"\n";
shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
};
2FEA0CEB2490322B00EEF3AD /* Generate Revision Header */ = {
isa = PBXShellScriptBuildPhase;
@ -3997,7 +3997,7 @@
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Scripts/gen_spirv_cross_rev_hdr.sh\"\n";
};
A9679AAF21D26C1400856BF7 /* Package External Libraries */ = {
A932E9C6249A7B9B00D64150 /* Create Fat Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@ -4006,16 +4006,16 @@
);
inputPaths = (
);
name = "Package External Libraries";
name = "Create Fat Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Scripts/package_ext_libs_ios.sh\"\n";
shellScript = "export MVK_OS=\"iOS\"\nexport MVK_OS_PROD_EXTN=\"iphoneos\"\nexport MVK_SIM_PROD_EXTN=\"iphonesimulator\"\n\n. \"${SRCROOT}/Scripts/create_fat_ext_libs.sh\"\n";
};
A9679AB021D26C7000856BF7 /* Package External Libraries */ = {
A9679AAF21D26C1400856BF7 /* Package Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@ -4024,14 +4024,50 @@
);
inputPaths = (
);
name = "Package External Libraries";
name = "Package Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Scripts/package_ext_libs_macos.sh\"\n";
shellScript = "export MVK_OS=\"iOS\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
};
A9679AB021D26C7000856BF7 /* Package Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Package Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "export MVK_OS=\"macOS\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
};
A9A5F2C1249D09820016D8B1 /* Create Fat Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Create Fat Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_OS_PROD_EXTN=\"appletvos\"\nexport MVK_SIM_PROD_EXTN=\"appletvsimulator\"\n\n. \"${SRCROOT}/Scripts/create_fat_ext_libs.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
@ -4939,11 +4975,7 @@
2FEA0B482490321700EEF3AD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
BITCODE_GENERATION_MODE = bitcode;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"AMD_EXTENSIONS=1",
@ -4960,18 +4992,13 @@
PRODUCT_NAME = glslang;
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
};
name = Debug;
};
2FEA0B492490321700EEF3AD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
BITCODE_GENERATION_MODE = bitcode;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"AMD_EXTENSIONS=1",
@ -4988,18 +5015,12 @@
PRODUCT_NAME = glslang;
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
};
name = Release;
};
2FEA0CD62490322100EEF3AD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
BITCODE_GENERATION_MODE = bitcode;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
DEPLOYMENT_POSTPROCESSING = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -5011,18 +5032,12 @@
PRODUCT_NAME = SPIRVTools;
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
};
name = Debug;
};
2FEA0CD72490322100EEF3AD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
BITCODE_GENERATION_MODE = bitcode;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
DEPLOYMENT_POSTPROCESSING = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -5034,17 +5049,12 @@
PRODUCT_NAME = SPIRVTools;
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
};
name = Release;
};
2FEA0CED2490322B00EEF3AD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
BITCODE_GENERATION_MODE = bitcode;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
@ -5052,17 +5062,12 @@
PRODUCT_NAME = SPIRVCross;
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
};
name = Debug;
};
2FEA0CEE2490322B00EEF3AD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
BITCODE_GENERATION_MODE = bitcode;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
@ -5070,7 +5075,6 @@
PRODUCT_NAME = SPIRVCross;
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
};
name = Release;
};
@ -5175,7 +5179,6 @@
A972A80D21CECBBF0013AB25 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEPLOYMENT_POSTPROCESSING = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -5192,7 +5195,6 @@
A972A80E21CECBBF0013AB25 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEPLOYMENT_POSTPROCESSING = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -5209,7 +5211,6 @@
A972A82121CECBE90013AB25 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEPLOYMENT_POSTPROCESSING = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -5226,7 +5227,6 @@
A972A82221CECBE90013AB25 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEPLOYMENT_POSTPROCESSING = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -5373,7 +5373,7 @@
ONLY_ACTIVE_ARCH = YES;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 11.0;
TVOS_DEPLOYMENT_TARGET = 9.0;
};
name = Debug;
};
@ -5421,7 +5421,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.11;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 11.0;
TVOS_DEPLOYMENT_TARGET = 9.0;
VALIDATE_PRODUCT = YES;
};
name = Release;

View File

@ -1040,6 +1040,7 @@
2FEA0A4024902F9F00EEF3AD /* Headers */,
2FEA0A8224902F9F00EEF3AD /* Sources */,
2FEA0AB524902F9F00EEF3AD /* Create Dynamic Library */,
A9FC5F6D249D39F3003CB086 /* Create Fat Libraries */,
2FEA0AB624902F9F00EEF3AD /* Create Framework */,
);
buildRules = (
@ -1060,6 +1061,7 @@
A9B8EE071A98D796009C5A02 /* Headers */,
A9B8EE051A98D796009C5A02 /* Sources */,
A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */,
A9EE084F249BD4AE00E523A2 /* Create Fat Libraries */,
A92EF79721854B3300C8B91B /* Create Framework */,
);
buildRules = (
@ -1286,6 +1288,42 @@
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_ios.sh\"\n";
};
A9EE084F249BD4AE00E523A2 /* Create Fat Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Create Fat Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
};
A9FC5F6D249D39F3003CB086 /* Create Fat Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Create Fat Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@ -1499,26 +1537,18 @@
2FEA0AB824902F9F00EEF3AD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
BITCODE_GENERATION_MODE = bitcode;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
PRODUCT_NAME = MoltenVK;
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
TVOS_DEPLOYMENT_TARGET = 9.0;
};
name = Debug;
};
2FEA0AB924902F9F00EEF3AD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
BITCODE_GENERATION_MODE = bitcode;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
PRODUCT_NAME = MoltenVK;
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
TVOS_DEPLOYMENT_TARGET = 9.0;
};
name = Release;
};

View File

@ -29,8 +29,6 @@
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@ -51,8 +49,6 @@
ReferencedContainer = "container:MoltenVK.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"

View File

@ -64,8 +64,9 @@
buildPhases = (
);
dependencies = (
A9AFC2602184EEF60084B396 /* PBXTargetDependency */,
A9AFC2622184EEF60084B396 /* PBXTargetDependency */,
A9AFC2602184EEF60084B396 /* PBXTargetDependency */,
A9FC5F5F249D277E003CB086 /* PBXTargetDependency */,
);
name = MoltenVK;
productName = Package;
@ -199,6 +200,20 @@
remoteGlobalIDString = A975D58B2140586700D4834F;
remoteInfo = "MoltenVK-macOS";
};
A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2FEA0D142490381A00EEF3AD;
remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
};
A9FC5F5E249D277E003CB086 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2FEA0A2F24902F5E00EEF3AD;
remoteInfo = "MoltenVK-tvOS";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@ -208,10 +223,8 @@
A92DB3E61CE0F37D00FBC835 /* Whats_New.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = Whats_New.md; path = Docs/Whats_New.md; sourceTree = "<group>"; };
A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVK.xcodeproj; path = MoltenVK/MoltenVK.xcodeproj; sourceTree = "<group>"; };
A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVKShaderConverter.xcodeproj; path = MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj; sourceTree = "<group>"; };
A92EF7C521856EA200C8B91B /* package_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ios.sh; sourceTree = "<group>"; };
A92EF7C621856EA200C8B91B /* package_moltenvk.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk.sh; sourceTree = "<group>"; };
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_tool.sh; sourceTree = "<group>"; };
A92EF7C821856EA200C8B91B /* package_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_macos.sh; sourceTree = "<group>"; };
A92EF7C921856EA200C8B91B /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = "<group>"; };
A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = "<group>"; };
A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = "<group>"; };
@ -225,6 +238,13 @@
A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_ios.sh; sourceTree = "<group>"; };
A9DA8340218A198C002AA662 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = "<group>"; };
A9DA8341218A198C002AA662 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
A9EE084A249BD49200E523A2 /* create_fat_lib_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_lib_func.sh; sourceTree = "<group>"; };
A9EE084E249BD49200E523A2 /* create_fat_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs.sh; sourceTree = "<group>"; };
A9EE0851249BD71C00E523A2 /* create_fat_libs_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs_ios.sh; sourceTree = "<group>"; };
A9FC5F60249D2ED3003CB086 /* package_all.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_all.sh; sourceTree = "<group>"; };
A9FC5F64249D3778003CB086 /* create_dylib_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_tvos.sh; sourceTree = "<group>"; };
A9FC5F69249D3843003CB086 /* create_framework_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_tvos.sh; sourceTree = "<group>"; };
A9FC5F6A249D38DF003CB086 /* create_fat_libs_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs_tvos.sh; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
@ -254,7 +274,7 @@
isa = PBXGroup;
children = (
A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */,
2FEA0ABE2490302F00EEF3AD /* libMoltenVK-tvOS.a */,
2FEA0ABE2490302F00EEF3AD /* libMoltenVK.a */,
A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */,
);
name = Products;
@ -265,13 +285,18 @@
children = (
A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */,
A9C70F41221B04C800FBA31A /* create_dylib_macos.sh */,
A9FC5F64249D3778003CB086 /* create_dylib_tvos.sh */,
A975D55C213F25D700D4834F /* create_dylib.sh */,
A9EE084A249BD49200E523A2 /* create_fat_lib_func.sh */,
A9EE0851249BD71C00E523A2 /* create_fat_libs_ios.sh */,
A9FC5F6A249D38DF003CB086 /* create_fat_libs_tvos.sh */,
A9EE084E249BD49200E523A2 /* create_fat_libs.sh */,
A941E2B1221AEBD000890C56 /* create_framework_ios.sh */,
A941E2B2221AEBD000890C56 /* create_framework_macos.sh */,
A9FC5F69249D3843003CB086 /* create_framework_tvos.sh */,
A99A760321852584000A8E2A /* create_framework.sh */,
A9FC5F60249D2ED3003CB086 /* package_all.sh */,
A92EF7C921856EA200C8B91B /* package_docs.sh */,
A92EF7C521856EA200C8B91B /* package_ios.sh */,
A92EF7C821856EA200C8B91B /* package_macos.sh */,
A92EF7C621856EA200C8B91B /* package_moltenvk.sh */,
A9149F7A221A528900DD7C6C /* package_shader_converter_lib.sh */,
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */,
@ -287,9 +312,10 @@
children = (
A981498B1FB6B566005F00B4 /* MoltenVKShaderConverter */,
A981498D1FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */,
2FEA0ADC2490308E00EEF3AD /* libMoltenVKGLSLToSPIRVConverter-tvOS.a */,
2FEA0ADC2490308E00EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */,
A981498F1FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */,
A98149911FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */,
A9FC5F5D249D2547003CB086 /* libMoltenVKSPIRVToMSLConverter.a */,
A98149931FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */,
);
name = Products;
@ -349,17 +375,17 @@
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
2FEA0ABE2490302F00EEF3AD /* libMoltenVK-tvOS.a */ = {
2FEA0ABE2490302F00EEF3AD /* libMoltenVK.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libMoltenVK-tvOS.a";
path = libMoltenVK.a;
remoteRef = 2FEA0ABD2490302F00EEF3AD /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
2FEA0ADC2490308E00EEF3AD /* libMoltenVKGLSLToSPIRVConverter-tvOS.a */ = {
2FEA0ADC2490308E00EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libMoltenVKGLSLToSPIRVConverter-tvOS.a";
path = libMoltenVKGLSLToSPIRVConverter.a;
remoteRef = 2FEA0ADB2490308E00EEF3AD /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
@ -412,6 +438,13 @@
remoteRef = A98149921FB6B566005F00B4 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A9FC5F5D249D2547003CB086 /* libMoltenVKSPIRVToMSLConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libMoltenVKSPIRVToMSLConverter.a;
remoteRef = A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXShellScriptBuildPhase section */
@ -427,7 +460,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Scripts/package_tvos.sh\"\n";
shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n";
};
A975D5872140585200D4834F /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
@ -441,7 +474,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Scripts/package_ios.sh\"\n";
shellScript = "export MVK_OS=\"iOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n";
};
A975D59A2140586700D4834F /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
@ -455,7 +488,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Scripts/package_macos.sh\"\n";
shellScript = "export MVK_OS=\"macOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n";
};
A9AD70122440ED3B00B9E254 /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
@ -469,7 +502,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "export MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}\"\n\"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n\"${SRCROOT}/Scripts/package_update_latest.sh\"\n";
shellScript = "export MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n. \"${SRCROOT}/Scripts/package_update_latest.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
@ -519,6 +552,11 @@
target = A975D58B2140586700D4834F /* MoltenVK-macOS */;
targetProxy = A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */;
};
A9FC5F5F249D277E003CB086 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */;
targetProxy = A9FC5F5E249D277E003CB086 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */

View File

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

View File

@ -394,6 +394,7 @@
2FEA0ACB2490305800EEF3AD /* Sources */,
2FEA0ACF2490305800EEF3AD /* Frameworks */,
2FEA0AD22490305800EEF3AD /* Create Dynamic Library */,
A9FC5F6B249D3959003CB086 /* Create Fat Libraries */,
2FEA0AD32490305800EEF3AD /* Create Framework */,
);
buildRules = (
@ -413,6 +414,7 @@
2FEA0D072490381A00EEF3AD /* Sources */,
2FEA0D0C2490381A00EEF3AD /* Frameworks */,
2FEA0D0F2490381A00EEF3AD /* Create Dynamic Library */,
A9FC5F6C249D3987003CB086 /* Create Fat Libraries */,
2FEA0D102490381A00EEF3AD /* Create Framework */,
);
buildRules = (
@ -450,6 +452,7 @@
A93747271A9A8B2900F29B34 /* Sources */,
A972AD2821CEE6310013AB25 /* Frameworks */,
A9C70F49221B075700FBA31A /* Create Dynamic Library */,
A9303625249BDF6B00DE139C /* Create Fat Libraries */,
A941E2A7221AC9C300890C56 /* Create Framework */,
);
buildRules = (
@ -488,6 +491,7 @@
A93903BA1C57E9D700FE90DC /* Sources */,
A972AD2E21CEE6F50013AB25 /* Frameworks */,
A9C70F4B221B077C00FBA31A /* Create Dynamic Library */,
A9303626249BDFA000DE139C /* Create Fat Libraries */,
A941E2A8221AC9E800890C56 /* Create Framework */,
);
buildRules = (
@ -644,6 +648,42 @@
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_framework_tvos.sh\"\n";
};
A9303625249BDF6B00DE139C /* Create Fat Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Create Fat Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
};
A9303626249BDFA000DE139C /* Create Fat Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Create Fat Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
};
A941E2A7221AC9C300890C56 /* Create Framework */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -788,6 +828,42 @@
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_macos.sh\"\n";
};
A9FC5F6B249D3959003CB086 /* Create Fat Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Create Fat Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
};
A9FC5F6C249D3987003CB086 /* Create Fat Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Create Fat Libraries";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@ -885,8 +961,6 @@
2FEA0AD52490305800EEF3AD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = arm64;
BITCODE_GENERATION_MODE = bitcode;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
CLANG_WARN_UNREACHABLE_CODE = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
@ -897,15 +971,12 @@
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
VALID_ARCHS = arm64;
};
name = Debug;
};
2FEA0AD62490305800EEF3AD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = arm64;
BITCODE_GENERATION_MODE = bitcode;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
CLANG_WARN_UNREACHABLE_CODE = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
@ -916,15 +987,12 @@
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
VALID_ARCHS = arm64;
};
name = Release;
};
2FEA0D122490381A00EEF3AD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = arm64;
BITCODE_GENERATION_MODE = bitcode;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
@ -935,15 +1003,12 @@
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
VALID_ARCHS = arm64;
};
name = Debug;
};
2FEA0D132490381A00EEF3AD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = arm64;
BITCODE_GENERATION_MODE = bitcode;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
@ -954,7 +1019,6 @@
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 11.0;
VALID_ARCHS = arm64;
};
name = Release;
};

View File

@ -110,7 +110,19 @@ on which **MoltenVK** relies:
3. Retrieve and build the external libraries:
cd MoltenVK
./fetchDependencies
./fetchDependencies [platform...]
When running the `fetchDependencies` script, you must specify one or more platforms
for which to build the external libraries. The platform choices include:
--ios --iosfat --tvos --tvosfat --macos --all
You can specify multiple of these selections. The `--iosfat` and `--tvosfat` selection builds one
binary for each external library, with each binary including code for both *iOS* and *iOS Simulator*
platforms, or *tvOS* and *tvOS Simulator* platforms, respectively. The `--all` selection is the same
as selecting `--iosfat --tvosfat --macos` and results in three binaries for each external library:
a *fat iOS* binary, a *fat tvOS* binary, and a *macOS* binary. The more selections you include,
the longer the build time.
For more information about the external open-source libraries used by **MoltenVK**,
see the [`ExternalRevisions/README.md`](ExternalRevisions/README.md) document.
@ -141,12 +153,13 @@ and package the entire **MoltenVK** runtime distribution package, or to build in
To build a **MoltenVK** runtime distribution package, suitable for testing and integrating into an app,
open `MoltenVKPackaging.xcodeproj` in *Xcode*, and use one of the following *Xcode Schemes*, depending
on whether you want a **_Release_** or **_Debug_** configuration, and whether you want to build for both
the *iOS* and *macOS* platforms, or just one platform (in **_Release_** configuration):
on whether you want a **_Release_** or **_Debug_** configuration, and whether you want to build for all
platforms, or just one platform (in **_Release_** configuration):
- **MoltenVK Package**
- **MoltenVK Package (Debug)**
- **MoltenVK Package (iOS only)**
- **MoltenVK Package (tvOS only)**
- **MoltenVK Package (macOS only)**
Each of these`MoltenVKPackaging.xcodeproj` *Xcode* project *Schemes* puts the resulting packages in the
@ -178,19 +191,22 @@ in the **_Release_** configuration from the command line. The following `make` t
make all
make macos
make ios
make iosfat
make tvos
make tvosfat
make clean
make install
Running `make all` is the same as running both `make macos` and `make ios`. Running `make` with no
arguments is the same as running `make all`.
Running `make all` is the same as running all of `make macos`, `make iosfat`, and `make tvosfat`.
Running `make` with no arguments is the same as running `make all`.
The `install` target will copy the most recently built *macOS* `MoltenVK.framework` into
the `/Library/Frameworks` folder of your computer. Since `/Library/Frameworks` is protected,
you will generally need to run it as `sudo make install` and enter your password.
The `install` target just installs the built framework, it does not first build the framework.
So you will first need to at least run `make macos`, or use *Xcode* to build the framework as described above.
You will first need to at least run `make macos`, or use *Xcode* to build the framework as described above.
The `make` targets all require that *Xcode* is installed on your system.

View File

@ -2,11 +2,12 @@
set -e
export MVK_BUILT_PROD_DIR="${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"
mkdir -p "${BUILT_PRODUCTS_DIR}/dynamic"
mkdir -p "${MVK_BUILT_PROD_DIR}/dynamic"
if test x"${ENABLE_BITCODE}" = xYES; then
MVK_EMBED_BITCODE="-fembed-bitcode"
@ -26,7 +27,7 @@ clang++ \
-stdlib=${CLANG_CXX_LIBRARY} \
-dynamiclib \
$(printf -- "-arch %s " ${ARCHS}) \
-m${MVK_OS}-version-min=${MVK_MIN_OS_VERSION} \
-m${MVK_OS_CLANG}-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 \
@ -37,11 +38,11 @@ ${MVK_LINK_WARN} \
-iframework ${MVK_SYS_FWK_DIR} \
-framework Metal ${MVK_IOSURFACE_FWK} -framework ${MVK_UX_FWK} -framework QuartzCore -framework CoreGraphics ${MVK_IOKIT_FWK} -framework Foundation \
--library-directory ${MVK_USR_LIB_DIR} \
-o "${BUILT_PRODUCTS_DIR}/dynamic/${MVK_DYLIB_NAME}" \
-force_load "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a"
-o "${MVK_BUILT_PROD_DIR}/dynamic/${MVK_DYLIB_NAME}" \
-force_load "${MVK_BUILT_PROD_DIR}/lib${PRODUCT_NAME}.a"
if test "$CONFIGURATION" = Debug; then
mkdir -p "${BUILT_PRODUCTS_DIR}/dynamic"
dsymutil "${BUILT_PRODUCTS_DIR}/dynamic/${MVK_DYLIB_NAME}" \
-o "${BUILT_PRODUCTS_DIR}/dynamic/${MVK_DYLIB_NAME}.dSYM"
mkdir -p "${MVK_BUILT_PROD_DIR}/dynamic"
dsymutil "${MVK_BUILT_PROD_DIR}/dynamic/${MVK_DYLIB_NAME}" \
-o "${MVK_BUILT_PROD_DIR}/dynamic/${MVK_DYLIB_NAME}.dSYM"
fi

View File

@ -2,7 +2,7 @@
set -e
export MVK_OS="ios"
export MVK_OS_CLANG="ios"
export MVK_UX_FWK="UIKit"
export MVK_MIN_OS_VERSION=${IPHONEOS_DEPLOYMENT_TARGET}
export MVK_IOSURFACE_FWK="-framework IOSurface"
@ -11,7 +11,7 @@ export MVK_IOKIT_FWK="-framework IOKit"
# 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 "${MVK_MIN_OS_VERSION} < 11.0" | bc) -eq 1 ]; then
MVK_IOSURFACE_FWK=""
MVK_IOSURFACE_FWK=""
fi
. "${SRCROOT}/../Scripts/create_dylib.sh"

View File

@ -2,7 +2,7 @@
set -e
export MVK_OS="macosx"
export MVK_OS_CLANG="macosx"
export MVK_UX_FWK="AppKit"
export MVK_MIN_OS_VERSION=${MACOSX_DEPLOYMENT_TARGET}
export MVK_IOSURFACE_FWK="-framework IOSurface"

View File

@ -2,10 +2,16 @@
set -e
export MVK_OS="tvos"
export MVK_OS_CLANG="tvos"
export MVK_UX_FWK="UIKit"
export MVK_MIN_OS_VERSION=${TVOS_DEPLOYMENT_TARGET}
export MVK_IOSURFACE_FWK="-framework IOSurface"
export MVK_IOKIT_FWK=""
# Do not link to IOSurface if deploying to tvOS versions below 11.0, doing so will
# link IOSurface as a private framework, which will trigger App Store rejection.
if [ $(echo "${MVK_MIN_OS_VERSION} < 11.0" | bc) -eq 1 ]; then
MVK_IOSURFACE_FWK=""
fi
. "${SRCROOT}/../Scripts/create_dylib.sh"

15
Scripts/create_fat_ext_libs.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/bash
# Load functions
. "${SRCROOT}/Scripts/create_fat_lib_func.sh"
set -e
export MVK_BUILT_OS_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_OS_PROD_EXTN}"
export MVK_BUILT_SIM_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_SIM_PROD_EXTN}"
export MVK_BUILT_FAT_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_OS}"
create_fat_lib "libSPIRVCross.a"
create_fat_lib "libSPIRVTools.a"
create_fat_lib "libglslang.a"

37
Scripts/create_fat_lib_func.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
# If both platform and simulator lib files exist, create a fat file
# from them both, otherwise if only one exists, copy it to the fat file.
#
# Takes one parameter:
# 1 - filename
#
# Requires 3 build settings:
# MVK_BUILT_OS_PROD_DIR - location to find OS input file
# MVK_BUILT_SIM_PROD_DIR - location to find simulator input file
# MVK_BUILT_FAT_PROD_DIR - location to put fat output file
function create_fat_lib() {
FILE_NAME=${1}
BUILT_OS_PROD_FILE="${MVK_BUILT_OS_PROD_DIR}/${FILE_NAME}"
BUILT_SIM_PROD_FILE="${MVK_BUILT_SIM_PROD_DIR}/${FILE_NAME}"
BUILT_FAT_PROD_FILE="${MVK_BUILT_FAT_PROD_DIR}/${FILE_NAME}"
if [ ! -e "${MVK_BUILT_FAT_PROD_DIR}" ]; then
mkdir -p "${MVK_BUILT_FAT_PROD_DIR}"
fi
rm -rf "${BUILT_FAT_PROD_FILE}"
if test -e "${BUILT_OS_PROD_FILE}"; then
if test -e "${BUILT_SIM_PROD_FILE}"; then
lipo \
-create \
-output "${BUILT_FAT_PROD_FILE}" \
"${BUILT_OS_PROD_FILE}" \
"${BUILT_SIM_PROD_FILE}"
else
cp -a "${BUILT_OS_PROD_FILE}" "${BUILT_FAT_PROD_FILE}"
fi
elif test -e "${BUILT_SIM_PROD_FILE}"; then
cp -a "${BUILT_SIM_PROD_FILE}" "${BUILT_FAT_PROD_FILE}"
fi
}

22
Scripts/create_fat_libs.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
# Load functions
. "${SRCROOT}/../Scripts/create_fat_lib_func.sh"
set -e
#Static library
export MVK_BUILT_OS_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS_PROD_EXTN}"
export MVK_BUILT_SIM_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_SIM_PROD_EXTN}"
export MVK_BUILT_FAT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
create_fat_lib "lib${PRODUCT_NAME}.a"
# Dynamic library and associated dSYM
export MVK_BUILT_OS_PROD_DIR="${MVK_BUILT_OS_PROD_DIR}/dynamic"
export MVK_BUILT_SIM_PROD_DIR="${MVK_BUILT_SIM_PROD_DIR}/dynamic"
export MVK_BUILT_FAT_PROD_DIR="${MVK_BUILT_FAT_PROD_DIR}/dynamic"
create_fat_lib "lib${PRODUCT_NAME}.dylib"
create_fat_lib "lib${PRODUCT_NAME}.dylib.dSYM"

10
Scripts/create_fat_libs_ios.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
set -e
export MVK_OS="iOS"
export MVK_OS_PROD_EXTN="iphoneos"
export MVK_SIM_PROD_EXTN="iphonesimulator"
. "${SRCROOT}/../Scripts/create_fat_libs.sh"

10
Scripts/create_fat_libs_tvos.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
set -e
export MVK_OS="tvOS"
export MVK_OS_PROD_EXTN="appletvos"
export MVK_SIM_PROD_EXTN="appletvsimulator"
. "${SRCROOT}/../Scripts/create_fat_libs.sh"

View File

@ -3,13 +3,13 @@
set -e
export MVK_TMPLT_PATH="${PROJECT_DIR}/../Templates/framework/${MVK_OS}"
export MVK_BUILT_FRWK_PATH="${BUILT_PRODUCTS_DIR}/framework/${PRODUCT_NAME}.framework"
export MVK_BUILT_FRWK_PATH="${MVK_BUILT_PROD_DIR}/framework/${PRODUCT_NAME}.framework"
export MVK_BUILT_FRWK_CONTENT_PATH="${MVK_BUILT_FRWK_PATH}/${MVK_FRWK_SUBPATH}"
mkdir -p "${BUILT_PRODUCTS_DIR}/framework"
mkdir -p "${MVK_BUILT_PROD_DIR}/framework"
rm -rf "${MVK_BUILT_FRWK_PATH}"
cp -a "${MVK_TMPLT_PATH}/Template.framework" "${MVK_BUILT_FRWK_PATH}"
cp -a "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a" "${MVK_BUILT_FRWK_CONTENT_PATH}${PRODUCT_NAME}"
cp -a "${MVK_BUILT_PROD_DIR}/lib${PRODUCT_NAME}.a" "${MVK_BUILT_FRWK_CONTENT_PATH}${PRODUCT_NAME}"
cp -pRL "${PROJECT_DIR}/include/${PRODUCT_NAME}/" "${MVK_BUILT_FRWK_CONTENT_PATH}Headers"
rm -f "${MVK_BUILT_FRWK_CONTENT_PATH}Headers/README" #Remove git empty directory placeholder file

View File

@ -3,6 +3,7 @@
set -e
export MVK_OS="iOS"
export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
export MVK_FRWK_SUBPATH=""
. "${SRCROOT}/../Scripts/create_framework.sh"

View File

@ -3,6 +3,7 @@
set -e
export MVK_OS="macOS"
export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}"
export MVK_FRWK_SUBPATH="Versions/Current/"
. "${SRCROOT}/../Scripts/create_framework.sh"

View File

@ -3,6 +3,7 @@
set -e
export MVK_OS="tvOS"
export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
export MVK_FRWK_SUBPATH=""
. "${SRCROOT}/../Scripts/create_framework.sh"

View File

@ -1,8 +1,5 @@
#!/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"

View File

@ -1,7 +0,0 @@
#!/bin/bash
export MVK_OS="iOS"
export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos"
"${SRCROOT}/Scripts/package_ext_libs.sh"

View File

@ -1,7 +0,0 @@
#!/bin/bash
export MVK_OS="macOS"
export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
"${SRCROOT}/Scripts/package_ext_libs.sh"

View File

@ -1,7 +0,0 @@
#!/bin/bash
export MVK_OS="tvOS"
export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-appletvos"
"${SRCROOT}/Scripts/package_ext_libs.sh"

View File

@ -1,11 +0,0 @@
#!/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"

View File

@ -10,17 +10,17 @@ export MVK_PKG_PROD_PATH_OS="${MVK_PKG_PROD_PATH}/${MVK_OS}"
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"
cp -a "${MVK_BUILT_PROD_DIR}/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}/dynamic/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
if test "$CONFIGURATION" = Debug; then
cp -a "${MVK_BUILT_PROD_PATH}/dynamic/lib${MVK_PROD_NAME}.dylib.dSYM" "${MVK_PKG_PROD_PATH_OS}/dynamic"
cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib.dSYM" "${MVK_PKG_PROD_PATH_OS}/dynamic"
fi
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}/framework/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"
cp -a "${MVK_BUILT_PROD_DIR}/framework/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"
# Remove the code signature
rm -rf "${MVK_PKG_PROD_PATH_OS}/framework/${MVK_PROD_NAME}.framework/_CodeSignature"

View File

@ -9,13 +9,13 @@ export MVK_PKG_PROD_PATH_OS="${MVK_PKG_PROD_PATH}/${MVK_OS}"
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"
cp -a "${MVK_BUILT_PROD_DIR}/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}/dynamic/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
if test "$CONFIGURATION" = Debug; then
cp -a "${MVK_BUILT_PROD_PATH}/dynamic/lib${MVK_PROD_NAME}.dylib.dSYM" "${MVK_PKG_PROD_PATH_OS}/dynamic"
cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib.dSYM" "${MVK_PKG_PROD_PATH_OS}/dynamic"
fi
mkdir -p "${MVK_PKG_PROD_PATH_OS}/framework"
cp -a "${MVK_BUILT_PROD_PATH}/framework/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"
cp -a "${MVK_BUILT_PROD_DIR}/framework/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"

View File

@ -7,4 +7,4 @@ export MVK_PKG_PROD_PATH_OS="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_
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}"
cp -a "${MVK_BUILT_PROD_DIR}/${MVK_PROD_NAME}" "${MVK_PKG_PROD_PATH_OS}"

View File

@ -1,10 +0,0 @@
#!/bin/bash
export MVK_OS="tvOS"
export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-appletvos"
. "${SRCROOT}/Scripts/package_moltenvk.sh"
. "${SRCROOT}/Scripts/package_shader_converter.sh"
. "${SRCROOT}/Scripts/package_docs.sh"
. "${SRCROOT}/Scripts/package_update_latest.sh"

View File

@ -4,9 +4,34 @@
#
# fetchDependencies - Retrieves the correct versions of all dependencies
#
# macOS usage: ./fetchDependencies [-v] [--debug] [--build-spirv-tools]
# macOS usage: ./fetchDependencies [--ios] [--iosfat] [--tvos] [--tvosfat] [--macos] [--all]
# [-v] [--debug] [--build-spirv-tools]
# [--v-headers-root path] [--spirv-cross-root path] [--glslang-root path]
#
# --ios
# Build the external libraries for the iOS platform.
#
# --iosfat
# Build a single binary for each external library, each containing code
# for both iOS and iOS Simulator platforms.
#
# --tvos
# Build the external libraries for the tvOS platform.
#
# --tvosfat
# Build a single binary for each external library, each containing code
# for both tvOS and tvOS Simulator platforms.
#
# --macos
# Build the external libraries for the macOS platform.
#
# --all
# Equivalent to specifying [--iosfat --tvosfat --macos]. Results in thee
# binaries for each external library: one for the iOS and iOS Simulator platforms,
# one for the tvOS and tvOS Simulator platforms, and one for the macOS platform.
#
# Multiple platform options may be specified. At least one platform option must be specified.
#
# --debug
# Build the external libraries in Debug mode, which may be useful when debugging
# and tracing calls into those libraries.
@ -41,7 +66,13 @@ set -e
# ----------------- Functions -------------------
XC_SCHEME_SFX=""
BLD_IOS=""
BLD_IOS_SIM=""
BLD_TVOS=""
BLD_TVOS_SIM=""
BLD_MACOS=""
BLD_SPECIFIED=""
XC_CONFIG="Release"
XC_BUILD_VERBOSITY="-quiet"
V_HEADERS_ROOT=""
SPIRV_CROSS_ROOT=""
@ -50,8 +81,44 @@ BLD_SPV_TLS=""
while (( "$#" )); do
case "$1" in
--ios)
BLD_IOS="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--iosfat)
BLD_IOS="Y"
BLD_IOS_SIM="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--tvos)
BLD_TVOS="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--tvosfat)
BLD_TVOS="Y"
BLD_TVOS_SIM="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--macos)
BLD_MACOS="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--all)
BLD_IOS="Y"
BLD_IOS_SIM="Y"
BLD_TVOS="Y"
BLD_TVOS_SIM="Y"
BLD_MACOS="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--debug)
XC_SCHEME_SFX=" (Debug)"
XC_CONFIG="Debug"
shift 1
;;
-v)
@ -85,6 +152,15 @@ while (( "$#" )); do
esac
done
# if no platform was specified, print usage message and exit
if [ "$BLD_SPECIFIED" = "" ]; then
echo "ERROR: You did not specify a platform to build."
echo "Include one or more of the following platform options:"
echo " --ios --iosfat --tvos --tvosfat --macos --all"
echo "See the instructions in the fetchDependencies script for more info."
exit 1
fi
# Update a repository. If it exists, fetch it; if not, clone it.
# $1 repo name
# $2 repo url
@ -286,17 +362,52 @@ echo
echo ========== Building dependency libraries quietly. Please be patient on first build. ==========
echo
# Build an Xcode scheme
function build() {
echo Building external libraries for ${XC_PLTFM}
xcodebuild \
-project "${XC_PROJ}" \
-scheme "${XC_SCHEME}" \
-destination "generic/platform=${XC_PLTFM}" \
-configuration "${XC_CONFIG}" \
-derivedDataPath "${XC_DD_PATH}" \
${XC_BUILD_VERBOSITY} \
build
}
EXT_DEPS=ExternalDependencies
XC_PROJ="${EXT_DEPS}.xcodeproj"
XC_SCHEME="${EXT_DEPS}${XC_SCHEME_SFX}"
XC_DD_PATH="${EXT_DIR}/build"
xcodebuild \
-project "${XC_PROJ}" \
-scheme "${XC_SCHEME}" \
-derivedDataPath "${XC_DD_PATH}" \
${XC_BUILD_VERBOSITY} \
if [ "$BLD_IOS" != "" ]; then
XC_SCHEME="${EXT_DEPS}-iOS"
XC_PLTFM="iOS"
build
fi
if [ "$BLD_IOS_SIM" != "" ]; then
XC_SCHEME="${EXT_DEPS}-iOS"
XC_PLTFM="iOS Simulator"
build
fi
if [ "$BLD_TVOS" != "" ]; then
XC_SCHEME="${EXT_DEPS}-tvOS"
XC_PLTFM="tvOS"
build
fi
if [ "$BLD_TVOS_SIM" != "" ]; then
XC_SCHEME="${EXT_DEPS}-tvOS"
XC_PLTFM="tvOS Simulator"
build
fi
if [ "$BLD_MACOS" != "" ]; then
XC_SCHEME="${EXT_DEPS}-macOS"
XC_PLTFM="macOS"
build
fi
echo ========== Done! ==========