37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/bin/zsh
|
|
set -euo pipefail
|
|
|
|
script_dir=${0:A:h}
|
|
project_root=${script_dir:h:h}
|
|
sparkle_root="$project_root/ThirdParty/Sparkle/2.9.4"
|
|
source_file="$script_dir/project_quint_updater.mm"
|
|
bundle_root="$project_root/Assets/ProjectQuint/Plugins/macOS/ProjectQuintUpdater.bundle"
|
|
output_file="$bundle_root/Contents/MacOS/ProjectQuintUpdater"
|
|
|
|
mkdir -p "${output_file:h}"
|
|
/usr/bin/xcrun --sdk macosx clang++ \
|
|
-std=c++17 \
|
|
-O2 \
|
|
-DNDEBUG \
|
|
-fobjc-arc \
|
|
-fvisibility=hidden \
|
|
-mmacosx-version-min=12.0 \
|
|
-arch arm64 \
|
|
-arch x86_64 \
|
|
-dynamiclib \
|
|
-install_name '@rpath/ProjectQuintUpdater' \
|
|
-Wl,-rpath,'@loader_path/../../../../Frameworks' \
|
|
-F "$sparkle_root" \
|
|
-framework AppKit \
|
|
-framework Foundation \
|
|
-framework Sparkle \
|
|
"$source_file" \
|
|
-o "$output_file"
|
|
|
|
/usr/bin/lipo "$output_file" -verify_arch arm64 x86_64
|
|
/usr/bin/otool -L "$output_file" | /usr/bin/grep -Fq "@rpath/Sparkle.framework/Versions/B/Sparkle"
|
|
/usr/bin/otool -l "$output_file" | /usr/bin/grep -Fq "@loader_path/../../../../Frameworks"
|
|
/usr/bin/codesign --force --sign - "$bundle_root"
|
|
/usr/bin/codesign --verify --strict "$bundle_root"
|
|
echo "Built Universal ProjectQuintUpdater: $output_file"
|