Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MacCatalyst target in native libs build #301

Merged
merged 3 commits into from
Dec 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build-libs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ jobs:
env:
MACOS_CERTIFICATE: ${{ secrets.MACOS_DEVELOPER_ID_CERTIFICATE }}
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_DEVELOPER_ID_CERTIFICATE_PWD }}
MACOS_CERTIFICATE_ID: ${{ secrets.MACOS_DEVELOPER_ID_CERTIFICATE_IDENTITY }}
run: |
$env:TMP_PASS = [Guid]::NewGuid().ToString()
[System.IO.File]::WriteAllBytes([System.IO.Path]::Combine($pwd.Path, "certificate.p12"), [System.Convert]::FromBase64String("$env:MACOS_CERTIFICATE"))
Expand All @@ -124,7 +125,7 @@ jobs:
security list-keychains -s build.keychain
security import certificate.p12 -k build.keychain -P $env:MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $env:TMP_PASS build.keychain
/usr/bin/codesign --force -s AEFB3DDA9FD6A31D3DD4D7A9398A59FDDA874DCC libokapi.dylib -v
/usr/bin/codesign --force -s $env:MACOS_CERTIFICATE_ID libokapi.dylib -v
shell: pwsh
working-directory: ./libs/macos
- name: Upload MacOS artifact
Expand Down
7 changes: 6 additions & 1 deletion devops/BuildLibraries.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,18 @@ try {
rustup toolchain install nightly --allow-downgrade
rustup target add x86_64-apple-ios aarch64-apple-ios
rustup target add aarch64-apple-ios-sim --toolchain nightly

rustup component add rust-src --toolchain nightly-x86_64-apple-darwin

cargo +nightly build --release --target aarch64-apple-ios-sim
cargo build --release --target x86_64-apple-ios
cargo build --release --target aarch64-apple-ios

cargo +nightly build --release -Z build-std --target x86_64-apple-ios-macabi
cargo +nightly build --release -Z build-std --target aarch64-apple-ios-macabi

# Create the fat binaries, cargo-lipo doesn't support ios sim aarch64
lipo -create "./target/x86_64-apple-ios/release/libokapi.a" "./target/aarch64-apple-ios-sim/release/libokapi.a" -output "$TargetOutput/libokapi_simulator.a"
lipo -create "./target/x86_64-apple-ios-macabi/release/libokapi.a" "./target/aarch64-apple-ios-macabi/release/libokapi.a" -output "$TargetOutput/libokapi_maccatalyst.a"
Copy-Item -Path "./target/aarch64-apple-ios/release/libokapi.a" -Destination "$TargetOutput/libokapi.a"
break
}
Expand Down