47 lines
1.4 KiB
Bash
Executable File
47 lines
1.4 KiB
Bash
Executable File
#!/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}"
|