Files
conflict-set/package_macos.sh
2024-08-08 11:50:13 -07:00

34 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -euxo pipefail
umask 022
SRC_DIR="${0%/*}"
BUILD_ARM="$(mktemp -d -t conflict-set-arm)"
BUILD_X86="$(mktemp -d -t conflict-set-x86)"
cmake_args=(-DCMAKE_CXX_FLAGS=-DNVALGRIND -DCPACK_PACKAGING_INSTALL_PREFIX=/usr/local)
cmake -S"$SRC_DIR" -B"$BUILD_ARM" -DCMAKE_OSX_ARCHITECTURES=arm64 "${cmake_args[@]}"
cmake --build "$BUILD_ARM" --target conflict-set --target conflict-set-static
cmake -S"$SRC_DIR" -B"$BUILD_X86" -DCMAKE_OSX_ARCHITECTURES=x86_64 "${cmake_args[@]}"
cmake --build "$BUILD_X86" --target conflict-set --target conflict-set-static
VERSION="$(cat "$BUILD_ARM/version.txt")"
lipo -create "$BUILD_ARM/radix_tree/libconflict-set.$VERSION.dylib" "$BUILD_X86/radix_tree/libconflict-set.$VERSION.dylib" -output "libconflict-set.$VERSION.dylib.tmp"
lipo -create "$BUILD_ARM"/libconflict-set-static.a "$BUILD_X86"/libconflict-set-static.a -output libconflict-set-static.a.tmp
mv "libconflict-set.$VERSION.dylib.tmp" "$BUILD_ARM/radix_tree/libconflict-set.$VERSION.dylib"
mv libconflict-set-static.a.tmp "$BUILD_ARM/libconflict-set-static.a"
pushd "$BUILD_ARM"
cpack -G productbuild
popd
mv "$BUILD_ARM/conflict-set-$VERSION-Darwin.pkg" .
rm -rf "$BUILD_ARM" "$BUILD_X86"