mirror of
https://github.com/krzyzanowskim/CryptoSwift.git
synced 2026-05-07 20:12:26 +00:00
119 lines
4.1 KiB
Bash
Executable File
119 lines
4.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
BASE_PWD="$PWD"
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
|
OUTPUT_DIR=$( mktemp -d )
|
|
COMMON_SETUP="-project ${SCRIPT_DIR}/../CryptoSwift.xcodeproj -scheme CryptoSwift -configuration Release -quiet SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES"
|
|
|
|
# macOS
|
|
DERIVED_DATA_PATH=$( mktemp -d )
|
|
xcrun xcodebuild build \
|
|
$COMMON_SETUP \
|
|
-derivedDataPath "${DERIVED_DATA_PATH}" \
|
|
-destination 'generic/platform=macOS'
|
|
|
|
mkdir -p "${OUTPUT_DIR}/macos"
|
|
ditto "${DERIVED_DATA_PATH}/Build/Products/Release/CryptoSwift.framework" "${OUTPUT_DIR}/macos/CryptoSwift.framework"
|
|
rm -rf "${DERIVED_DATA_PATH}"
|
|
|
|
# macOS Catalyst
|
|
DERIVED_DATA_PATH=$( mktemp -d )
|
|
xcrun xcodebuild build \
|
|
$COMMON_SETUP \
|
|
-derivedDataPath "${DERIVED_DATA_PATH}" \
|
|
-destination 'generic/platform=macOS,variant=Mac Catalyst'
|
|
|
|
mkdir -p "${OUTPUT_DIR}/maccatalyst"
|
|
ditto "${DERIVED_DATA_PATH}/Build/Products/Release-maccatalyst/CryptoSwift.framework" "${OUTPUT_DIR}/maccatalyst/CryptoSwift.framework"
|
|
rm -rf "${DERIVED_DATA_PATH}"
|
|
|
|
# iOS
|
|
DERIVED_DATA_PATH=$( mktemp -d )
|
|
xcrun xcodebuild build \
|
|
$COMMON_SETUP \
|
|
-derivedDataPath "${DERIVED_DATA_PATH}" \
|
|
-destination 'generic/platform=iOS'
|
|
|
|
mkdir -p "${OUTPUT_DIR}/iphoneos"
|
|
ditto "${DERIVED_DATA_PATH}/Build/Products/Release-iphoneos/CryptoSwift.framework" "${OUTPUT_DIR}/iphoneos/CryptoSwift.framework"
|
|
rm -rf "${DERIVED_DATA_PATH}"
|
|
|
|
# iOS Simulator
|
|
DERIVED_DATA_PATH=$( mktemp -d )
|
|
xcrun xcodebuild build \
|
|
$COMMON_SETUP \
|
|
-derivedDataPath "${DERIVED_DATA_PATH}" \
|
|
-destination 'generic/platform=iOS Simulator'
|
|
|
|
mkdir -p "${OUTPUT_DIR}/iphonesimulator"
|
|
ditto "${DERIVED_DATA_PATH}/Build/Products/Release-iphonesimulator/CryptoSwift.framework" "${OUTPUT_DIR}/iphonesimulator/CryptoSwift.framework"
|
|
rm -rf "${DERIVED_DATA_PATH}"
|
|
|
|
# tvOS
|
|
DERIVED_DATA_PATH=$( mktemp -d )
|
|
xcrun xcodebuild build \
|
|
$COMMON_SETUP \
|
|
-derivedDataPath "${DERIVED_DATA_PATH}" \
|
|
-destination 'generic/platform=tvOS'
|
|
|
|
mkdir -p "${OUTPUT_DIR}/appletvos"
|
|
ditto "${DERIVED_DATA_PATH}/Build/Products/Release-appletvos/CryptoSwift.framework" "${OUTPUT_DIR}/appletvos/CryptoSwift.framework"
|
|
rm -rf "${DERIVED_DATA_PATH}"
|
|
|
|
# tvOS Simulator
|
|
DERIVED_DATA_PATH=$( mktemp -d )
|
|
xcrun xcodebuild build \
|
|
$COMMON_SETUP \
|
|
-derivedDataPath "${DERIVED_DATA_PATH}" \
|
|
-destination 'generic/platform=tvOS Simulator'
|
|
|
|
mkdir -p "${OUTPUT_DIR}/appletvsimulator"
|
|
ditto "${DERIVED_DATA_PATH}/Build/Products/Release-appletvsimulator/CryptoSwift.framework" "${OUTPUT_DIR}/appletvsimulator/CryptoSwift.framework"
|
|
rm -rf "${DERIVED_DATA_PATH}"
|
|
|
|
# watchOS
|
|
DERIVED_DATA_PATH=$( mktemp -d )
|
|
xcrun xcodebuild build \
|
|
$COMMON_SETUP \
|
|
-derivedDataPath "${DERIVED_DATA_PATH}" \
|
|
-destination 'generic/platform=watchOS'
|
|
|
|
mkdir -p "${OUTPUT_DIR}/watchos"
|
|
ditto "${DERIVED_DATA_PATH}/Build/Products/Release-watchos/CryptoSwift.framework" "${OUTPUT_DIR}/watchos/CryptoSwift.framework"
|
|
rm -rf "${DERIVED_DATA_PATH}"
|
|
|
|
# watchOS Simulator
|
|
DERIVED_DATA_PATH=$( mktemp -d )
|
|
xcrun xcodebuild build \
|
|
$COMMON_SETUP \
|
|
-derivedDataPath "${DERIVED_DATA_PATH}" \
|
|
-destination 'generic/platform=watchOS Simulator'
|
|
|
|
mkdir -p "${OUTPUT_DIR}/watchsimulator"
|
|
ditto "${DERIVED_DATA_PATH}/Build/Products/Release-watchsimulator/CryptoSwift.framework" "${OUTPUT_DIR}/watchsimulator/CryptoSwift.framework"
|
|
rm -rf "${DERIVED_DATA_PATH}"
|
|
|
|
# XCFRAMEWORK
|
|
rm -rf ${SCRIPT_DIR}/../CryptoSwift.xcframework
|
|
xcrun xcodebuild -quiet -create-xcframework \
|
|
-framework "${OUTPUT_DIR}/iphoneos/CryptoSwift.framework" \
|
|
-framework "${OUTPUT_DIR}/iphonesimulator/CryptoSwift.framework" \
|
|
-framework "${OUTPUT_DIR}/appletvos/CryptoSwift.framework" \
|
|
-framework "${OUTPUT_DIR}/appletvsimulator/CryptoSwift.framework" \
|
|
-framework "${OUTPUT_DIR}/watchos/CryptoSwift.framework" \
|
|
-framework "${OUTPUT_DIR}/watchsimulator/CryptoSwift.framework" \
|
|
-framework "${OUTPUT_DIR}/macos/CryptoSwift.framework" \
|
|
-framework "${OUTPUT_DIR}/maccatalyst/CryptoSwift.framework" \
|
|
-output ${SCRIPT_DIR}/../CryptoSwift.xcframework
|
|
|
|
# pushd ${OUTPUT_DIR}
|
|
# xcrun zip --symlinks -r -o ${BASE_PWD}/CryptoSwift.xcframework.zip CryptoSwift.xcframework
|
|
# popd
|
|
|
|
echo "✔️ CryptoSwift.xcframework"
|
|
echo ${OUTPUT_DIR}
|
|
|
|
rm -rf ${OUTPUT_DIR}
|
|
cd ${BASE_PWD} |