26 lines
764 B
Bash
26 lines
764 B
Bash
|
#!/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}\""
|
||
|
xcfwk_cmd+=" -headers \"${hdr_path}\""
|
||
|
done
|
||
|
|
||
|
rm -rf "${xcfwk_path}"
|
||
|
eval "${xcfwk_cmd}"
|
||
|
}
|