Add MoltenVK XCFramework.
Add package_moltenvk_xcframework.sh. Rename package_shader_converter.sh to package_shader_converter_xcframework.sh.
This commit is contained in:
parent
e97d11a4f5
commit
536d6cf0d4
@ -1043,6 +1043,7 @@
|
||||
2FEA0AB524902F9F00EEF3AD /* Create Dynamic Library */,
|
||||
A9FC5F6D249D39F3003CB086 /* Create Fat Libraries */,
|
||||
2FEA0AB624902F9F00EEF3AD /* Create Framework */,
|
||||
A9CBBFF124F89F79006D41EF /* Copy to Staging */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@ -1065,6 +1066,7 @@
|
||||
A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */,
|
||||
A9EE084F249BD4AE00E523A2 /* Create Fat Libraries */,
|
||||
A92EF79721854B3300C8B91B /* Create Framework */,
|
||||
A9CBBFEF24F89F5F006D41EF /* Copy to Staging */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@ -1086,6 +1088,7 @@
|
||||
A9CBEDCE1B6299D800E45FDC /* Sources */,
|
||||
A93F47C91D7E389E002AF700 /* Create Dynamic Library */,
|
||||
A92EF78D21852B2400C8B91B /* Create Framework */,
|
||||
A9CBBFF224F89F87006D41EF /* Copy to Staging */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@ -1345,6 +1348,60 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${SRCROOT}/../Scripts/gen_moltenvk_rev_hdr.sh\"\n";
|
||||
};
|
||||
A9CBBFEF24F89F5F006D41EF /* Copy to Staging */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Copy to Staging";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/../Scripts/copy_lib_to_staging.sh\"\n";
|
||||
};
|
||||
A9CBBFF124F89F79006D41EF /* Copy to Staging */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Copy to Staging";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/../Scripts/copy_lib_to_staging.sh\"\n";
|
||||
};
|
||||
A9CBBFF224F89F87006D41EF /* Copy to Staging */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Copy to Staging";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/../Scripts/copy_lib_to_staging.sh\"\n\n";
|
||||
};
|
||||
A9EE084F249BD4AE00E523A2 /* Create Fat Libraries */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -219,7 +219,7 @@
|
||||
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_tool.sh; sourceTree = "<group>"; };
|
||||
A92EF7C921856EA200C8B91B /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = "<group>"; };
|
||||
A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = "<group>"; };
|
||||
A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = "<group>"; };
|
||||
A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_xcframework.sh; sourceTree = "<group>"; };
|
||||
A92EF7DE2186451700C8B91B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = "<group>"; };
|
||||
A93ED4DE24F59CDB00FEB018 /* copy_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_to_staging.sh; sourceTree = "<group>"; };
|
||||
A93ED4E324F59CDB00FEB018 /* copy_lib_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_lib_to_staging.sh; sourceTree = "<group>"; };
|
||||
@ -233,6 +233,7 @@
|
||||
A9B1008924F84EC800EADC6E /* package_one_os.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_one_os.sh; sourceTree = "<group>"; };
|
||||
A9C70F41221B04C800FBA31A /* create_dylib_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_macos.sh; sourceTree = "<group>"; };
|
||||
A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_ios.sh; sourceTree = "<group>"; };
|
||||
A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk_xcframework.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>"; };
|
||||
@ -298,10 +299,11 @@
|
||||
A980A25F24C628F3007A8F6F /* gen_moltenvk_rev_hdr.sh */,
|
||||
A9FC5F60249D2ED3003CB086 /* package_all.sh */,
|
||||
A92EF7C921856EA200C8B91B /* package_docs.sh */,
|
||||
A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */,
|
||||
A92EF7C621856EA200C8B91B /* package_moltenvk.sh */,
|
||||
A9B1008924F84EC800EADC6E /* package_one_os.sh */,
|
||||
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */,
|
||||
A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */,
|
||||
A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */,
|
||||
A92EF7CA21856EA200C8B91B /* package_update_latest.sh */,
|
||||
A92EF7DE2186451700C8B91B /* Makefile */,
|
||||
);
|
||||
|
@ -16,8 +16,10 @@ function create_xcframework() {
|
||||
|
||||
for prod_staging_dir in "${MVK_XCFWK_STAGING_DIR}/${CONFIGURATION}"/*; do
|
||||
prod_lib_path="${prod_staging_dir}/lib${prod_name}.a"
|
||||
xcfwk_cmd+=" -library \"${prod_lib_path}\""
|
||||
# xcfwk_cmd+=" -headers \"${hdr_path}\"" # Headers currently break build during usage due to Xcode 12 bug: https://developer.apple.com/forums/thread/651043?answerId=628400022#628400022
|
||||
if test -e "${prod_lib_path}"; then
|
||||
xcfwk_cmd+=" -library \"${prod_lib_path}\""
|
||||
# xcfwk_cmd+=" -headers \"${hdr_path}\"" # Headers currently break build during usage due to Xcode 12 bug: https://developer.apple.com/forums/thread/651043?answerId=628400022#628400022
|
||||
fi
|
||||
done
|
||||
|
||||
rm -rf "${xcfwk_path}"
|
||||
|
@ -11,7 +11,8 @@ export MVK_OS="tvOS"
|
||||
export MVK_OS="macOS"
|
||||
. "${SRCROOT}/Scripts/package_moltenvk.sh"
|
||||
|
||||
. "${SRCROOT}/Scripts/package_shader_converter.sh"
|
||||
. "${SRCROOT}/Scripts/package_moltenvk_xcframework.sh"
|
||||
. "${SRCROOT}/Scripts/package_shader_converter_xcframework.sh"
|
||||
. "${SRCROOT}/Scripts/package_shader_converter_tool.sh"
|
||||
. "${SRCROOT}/Scripts/package_docs.sh"
|
||||
. "${SRCROOT}/Scripts/package_update_latest.sh"
|
||||
|
17
Scripts/package_moltenvk_xcframework.sh
Executable file
17
Scripts/package_moltenvk_xcframework.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
. "${PROJECT_DIR}/Scripts/create_xcframework_func.sh"
|
||||
|
||||
export MVK_PROD_BASE_NAME="MoltenVK"
|
||||
export MVK_XCFWK_STAGING_DIR="${BUILD_DIR}/XCFrameworkStaging"
|
||||
export MVK_XCFWK_DEST_DIR="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
|
||||
|
||||
# Assemble the headers
|
||||
hdr_dir="${MVK_XCFWK_STAGING_DIR}/Headers"
|
||||
mkdir -p "${hdr_dir}"
|
||||
rm -rf "${hdr_dir}/${MVK_PROD_BASE_NAME}"
|
||||
cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/${MVK_PROD_BASE_NAME}" "${hdr_dir}"
|
||||
|
||||
create_xcframework "MoltenVK"
|
@ -1,7 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
. "${SRCROOT}/Scripts/package_moltenvk.sh"
|
||||
. "${SRCROOT}/Scripts/package_shader_converter.sh"
|
||||
. "${SRCROOT}/Scripts/package_moltenvk_xcframework.sh"
|
||||
. "${SRCROOT}/Scripts/package_shader_converter_xcframework.sh"
|
||||
. "${SRCROOT}/Scripts/package_docs.sh"
|
||||
. "${SRCROOT}/Scripts/package_update_latest.sh"
|
||||
|
||||
|
@ -10,8 +10,11 @@ export MVK_XCFWK_DEST_DIR="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BA
|
||||
|
||||
# Assemble the headers for the shader frameworks
|
||||
hdr_dir="${MVK_XCFWK_STAGING_DIR}/Headers"
|
||||
rm -rf "${hdr_dir}"
|
||||
cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/" "${hdr_dir}"
|
||||
mkdir -p "${hdr_dir}"
|
||||
rm -rf "${hdr_dir}/MoltenVKSPIRVToMSLConverter"
|
||||
cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/MoltenVKSPIRVToMSLConverter" "${hdr_dir}"
|
||||
rm -rf "${hdr_dir}/MoltenVKGLSLToSPIRVConverter"
|
||||
cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/MoltenVKGLSLToSPIRVConverter" "${hdr_dir}"
|
||||
|
||||
# Also copy headers to an include directory in the package.
|
||||
# This will not be needed once the XCFramework can be created with a Headers directory.
|
Loading…
x
Reference in New Issue
Block a user