Add managed UIKit iOS client
.NET port / test (macos-latest) (push) Canceled after 0s
.NET port / test (ubuntu-24.04) (push) Canceled after 0s
.NET port / test (windows-latest) (push) Canceled after 0s
.NET port / apple-client (push) Canceled after 0s
.NET port / cpp-conformance (push) Canceled after 0s
.NET port / test (macos-latest) (push) Canceled after 0s
.NET port / test (ubuntu-24.04) (push) Canceled after 0s
.NET port / test (windows-latest) (push) Canceled after 0s
.NET port / apple-client (push) Canceled after 0s
.NET port / cpp-conformance (push) Canceled after 0s
This commit is contained in:
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/zsh
|
||||
set -euo pipefail
|
||||
|
||||
script_dir=${0:A:h}
|
||||
build_one() {
|
||||
local sdk=$1
|
||||
local rid=$2
|
||||
local sdk_path
|
||||
sdk_path=$(xcrun --sdk "$sdk" --show-sdk-path)
|
||||
local compiler
|
||||
compiler=$(xcrun --sdk "$sdk" --find clang)
|
||||
local build_dir="$script_dir/artifacts/native-build-$rid-cmake"
|
||||
cmake -S "$script_dir/native" -B "$build_dir" \
|
||||
-DCMAKE_SYSTEM_NAME=iOS \
|
||||
-DCMAKE_C_COMPILER="$compiler" \
|
||||
-DCMAKE_OSX_SYSROOT="$sdk_path" \
|
||||
-DCMAKE_OSX_ARCHITECTURES=arm64 \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=18.0 \
|
||||
-DVOICECAT_DOTNET_RID="$rid" \
|
||||
-DVOICECAT_BUNDLED_OPUS=ON
|
||||
cmake --build "$build_dir" --config Release --target voicecat_media --parallel 2
|
||||
cmake --install "$build_dir" --config Release \
|
||||
--component DotnetMedia --prefix "$script_dir/artifacts/native"
|
||||
local staged="$script_dir/artifacts/native/runtimes/$rid/native/libvoicecat_media.a"
|
||||
local opus="$build_dir/_deps/opus-build/libopus.a"
|
||||
local rnnoise="$build_dir/librnnoise.a"
|
||||
local combined="$staged.combined"
|
||||
xcrun --sdk "$sdk" libtool -static -o "$combined" "$build_dir/libvoicecat_media.a" "$opus" "$rnnoise"
|
||||
mv "$combined" "$staged"
|
||||
}
|
||||
|
||||
build_one iphoneos ios-arm64
|
||||
build_one iphonesimulator iossimulator-arm64
|
||||
Reference in New Issue
Block a user