2020-08-20 12:45:12 -04:00
#!/bin/bash
# Creates a universal XCFramework for a product from any libraries that can be found for the product.
#
# Takes one parameter:
# 1 - product_name
#
# Requires the variables MVK_XCFWK_STAGING_DIR and MVK_XCFWK_DEST_DIR.
#
function create_xcframework( ) {
prod_name = ${ 1 }
xcfwk_path = " ${ MVK_XCFWK_DEST_DIR } / ${ CONFIGURATION } / ${ prod_name } .xcframework "
hdr_path = " ${ MVK_XCFWK_STAGING_DIR } /Headers/ ${ prod_name } "
xcfwk_cmd = " xcodebuild -create-xcframework -output \" ${ xcfwk_path } \" "
for prod_staging_dir in " ${ MVK_XCFWK_STAGING_DIR } / ${ CONFIGURATION } " /*; do
prod_lib_path = " ${ prod_staging_dir } /lib ${ prod_name } .a "
xcfwk_cmd += " -library \" ${ prod_lib_path } \" "
2020-08-20 15:24:35 -04:00
# xcfwk_cmd+=" -headers \"${hdr_path}\"" # Headers currently break build during usage due to Xcode 12 bug: https://developer.apple.com/forums/thread/651043?answerId=628400022#628400022
2020-08-20 12:45:12 -04:00
done
rm -rf " ${ xcfwk_path } "
eval " ${ xcfwk_cmd } "
}