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