scripts/build-micromanager-macos.sh
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env bash
# Build and ad-hoc sign the Apple Virtualization.framework helper.
set -euo pipefail
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
if [ "$(uname -s)" != Darwin ]; then
printf '%s\n' 'firecrab-micromanager-macos can only be built on macOS' >&2
exit 1
fi
if (( $# > 1 )); then
printf 'Usage: %s [output-path]\n' "$0" >&2
exit 2
fi
output=${1:-"$root/target/release/firecrab-micromanager-macos"}
scratch=${FIRECRAB_MICROMANAGER_SWIFT_SCRATCH:-"$root/target/swift-micromanager"}
package="$root/micromanager-macos"
entitlements="$package/firecrab-micromanager.entitlements"
swift build --package-path "$package" --scratch-path "$scratch" -c release
source_binary=$(swift build --package-path "$package" --scratch-path "$scratch" -c release --show-bin-path)/firecrab-micromanager-macos
mkdir -p "$(dirname -- "$output")"
install -m 0755 "$source_binary" "$output"
codesign --force --sign - --entitlements "$entitlements" "$output"
codesign --verify --strict "$output"
printf '%s\n' "$output"