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