#!/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"