#!/bin/bash set -e # Copy dylibs only if the source directory exists. # Takes two args: source build path OS suffix and destination path OS directory name function copy_dylib() { src_dir="${BUILD_DIR}/${CONFIGURATION}${1}/dynamic" dst_dir="${MVK_PKG_PROD_PATH}/dylib/${2}" # If dylib file exists, copy it, any debug symbol file, and the Vulkan layer JSON file src_file="${src_dir}/lib${MVK_PROD_NAME}.dylib" if [[ -e "${src_file}" ]]; then rm -rf "${dst_dir}" mkdir -p "${dst_dir}" cp -a "${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 } export MVK_PROD_NAME="MoltenVK" export MVK_PROD_PROJ_PATH="${PROJECT_DIR}/${MVK_PROD_NAME}" export MVK_PKG_PROD_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}" # Make sure directory is there in case no dylibs are created for this platform mkdir -p "${MVK_PKG_PROD_PATH}" 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" # Remove and replace header include folder rm -rf "${MVK_PKG_PROD_PATH}/include" cp -pRL "${MVK_PROD_PROJ_PATH}/include" "${MVK_PKG_PROD_PATH}"