To build and release a multi architecture executable you need to follow a few steps:
- Build Apple's LLVM fork for both Intel and Apple Silicon. Currently doing this with LLVM's cmake configuration is a bit easier than using Swift's build-script, but that might change in the future:
cd /path/to/apple/llvm-project
mkdir build
cd build
cmake ../llvm -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DLLVM_ENABLE_PROJECTS=clang
ninja libIndexStore.dylib
- Build index-import for both architectures:
cd /path/to/index-import
mkdir build
PATH="/path/to/apple/llvm-project/build/bin:$PATH"
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
ninja
strip -STx index-import absolute-unit
- Create an archive:
COPYFILE_DISABLE=1 tar czvf index-import.tar.gz absolute-unit index-import