diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 391587ef8..703fc5f34 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,9 +16,12 @@ jobs: release: runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: include: - os: windows-2022 + - os: windows-11-arm + arch: arm64 - os: ubuntu-22.04 - os: ubuntu-22.04-arm arch: arm64 @@ -36,6 +39,11 @@ jobs: - name: Setup Rust uses: dtolnay/rust-toolchain@stable + - name: Add Windows ARM64 target + if: runner.os == 'Windows' && matrix.arch == 'arm64' + shell: pwsh + run: rustup target add aarch64-pc-windows-msvc + - name: Add macOS targets if: runner.os == 'macOS' run: | @@ -74,23 +82,50 @@ jobs: || sudo apt-get install -y --no-install-recommends libsoup2.4-dev - name: Setup pnpm + if: runner.os != 'Windows' || matrix.arch != 'arm64' uses: pnpm/action-setup@v6 with: version: 10.12.3 run_install: false + - name: Setup pnpm (Windows ARM64) + if: runner.os == 'Windows' && matrix.arch == 'arm64' + shell: pwsh + run: | + $ErrorActionPreference = 'Stop' + corepack enable + corepack prepare pnpm@10.12.3 --activate + node --version + pnpm --version + - name: Get pnpm store directory + if: runner.os != 'Windows' || matrix.arch != 'arm64' id: pnpm-store shell: bash run: echo "path=$(pnpm store path --silent)" >> $GITHUB_OUTPUT - name: Setup pnpm cache + if: runner.os != 'Windows' || matrix.arch != 'arm64' uses: actions/cache@v5 with: path: ${{ steps.pnpm-store.outputs.path }} key: ${{ runner.os }}-${{ runner.arch }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: ${{ runner.os }}-${{ runner.arch }}-pnpm-store- + - name: Setup LLVM for Windows ARM64 + if: runner.os == 'Windows' && matrix.arch == 'arm64' + shell: pwsh + run: | + $ErrorActionPreference = 'Stop' + $llvmRoot = 'C:\Program Files\LLVM' + if (-not (Test-Path $llvmRoot)) { + throw "LLVM not found at $llvmRoot" + } + $llvmBin = Join-Path $llvmRoot 'bin' + "LIBCLANG_PATH=$llvmBin" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 + "CLANG_PATH=$(Join-Path $llvmBin 'clang.exe')" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 + $llvmBin | Out-File -FilePath $env:GITHUB_PATH -Append -Encoding utf8 + - name: Install frontend deps run: pnpm install --frozen-lockfile @@ -223,7 +258,16 @@ jobs: - name: Build Tauri App (Windows) if: runner.os == 'Windows' - run: pnpm tauri build + shell: pwsh + env: + WINDOWS_RELEASE_ARCH: ${{ matrix.arch || 'x86_64' }} + run: | + $ErrorActionPreference = 'Stop' + if ($env:WINDOWS_RELEASE_ARCH -eq 'arm64') { + pnpm tauri build --target aarch64-pc-windows-msvc --bundles msi + } else { + pnpm tauri build + } - name: Build Tauri App (Linux) if: runner.os == 'Linux' @@ -394,50 +438,75 @@ jobs: - name: Prepare Windows Assets if: runner.os == 'Windows' shell: pwsh + env: + WINDOWS_RELEASE_ARCH: ${{ matrix.arch || 'x86_64' }} run: | $ErrorActionPreference = 'Stop' New-Item -ItemType Directory -Force -Path release-assets | Out-Null $VERSION = $env:GITHUB_REF_NAME # e.g., v3.5.0 + $isArm64 = $env:WINDOWS_RELEASE_ARCH -eq 'arm64' + $targetRoot = if ($isArm64) { 'src-tauri/target/aarch64-pc-windows-msvc/release' } else { 'src-tauri/target/release' } + $assetSuffix = if ($isArm64) { '-arm64' } else { '' } + # 仅打包 MSI 安装器 + .sig(用于 Updater) - $msi = Get-ChildItem -Path 'src-tauri/target/release/bundle/msi' -Recurse -Include *.msi -ErrorAction SilentlyContinue | Select-Object -First 1 + $msi = Get-ChildItem -Path (Join-Path $targetRoot 'bundle/msi') -Recurse -Include *.msi -ErrorAction SilentlyContinue | Select-Object -First 1 if ($null -eq $msi) { # 兜底:全局搜索 .msi - $msi = Get-ChildItem -Path 'src-tauri/target/release/bundle' -Recurse -Include *.msi -ErrorAction SilentlyContinue | Select-Object -First 1 + $msi = Get-ChildItem -Path (Join-Path $targetRoot 'bundle') -Recurse -Include *.msi -ErrorAction SilentlyContinue | Select-Object -First 1 } if ($null -ne $msi) { - $dest = "CC-Switch-$VERSION-Windows.msi" + $dest = "CC-Switch-$VERSION-Windows$assetSuffix.msi" Copy-Item $msi.FullName (Join-Path release-assets $dest) Write-Host "Installer copied: $dest" $sigPath = "$($msi.FullName).sig" if (Test-Path $sigPath) { Copy-Item $sigPath (Join-Path release-assets ("$dest.sig")) Write-Host "Signature copied: $dest.sig" + } elseif ($isArm64) { + throw "Signature not found for $($msi.Name)" } else { Write-Warning "Signature not found for $($msi.Name)" } + } elseif ($isArm64) { + throw 'No Windows ARM64 MSI installer found' } else { Write-Warning 'No Windows MSI installer found' } + # 绿色版(portable):仅可执行文件打 zip(不参与 Updater) - $exeCandidates = @( - 'src-tauri/target/release/cc-switch.exe', - 'src-tauri/target/x86_64-pc-windows-msvc/release/cc-switch.exe' - ) + $exeCandidates = if ($isArm64) { + @('src-tauri/target/aarch64-pc-windows-msvc/release/cc-switch.exe') + } else { + @( + 'src-tauri/target/release/cc-switch.exe', + 'src-tauri/target/x86_64-pc-windows-msvc/release/cc-switch.exe' + ) + } $exePath = $exeCandidates | Where-Object { Test-Path $_ } | Select-Object -First 1 if ($null -ne $exePath) { $portableDir = 'release-assets/CC-Switch-Portable' New-Item -ItemType Directory -Force -Path $portableDir | Out-Null Copy-Item $exePath $portableDir $portableIniPath = Join-Path $portableDir 'portable.ini' - $portableContent = @( - '# CC Switch portable build marker', - 'portable=true' - ) + $portableContent = if ($isArm64) { + @( + '# CC Switch portable ARM64 build marker', + 'portable=true', + 'arch=arm64' + ) + } else { + @( + '# CC Switch portable build marker', + 'portable=true' + ) + } $portableContent | Set-Content -Path $portableIniPath -Encoding UTF8 - $portableZip = "release-assets/CC-Switch-$VERSION-Windows-Portable.zip" + $portableZip = "release-assets/CC-Switch-$VERSION-Windows$assetSuffix-Portable.zip" Compress-Archive -Path "$portableDir/*" -DestinationPath $portableZip -Force Remove-Item -Recurse -Force $portableDir - Write-Host "Windows portable zip created: CC-Switch-$VERSION-Windows-Portable.zip" + Write-Host "Windows portable zip created: CC-Switch-$VERSION-Windows$assetSuffix-Portable.zip" + } elseif ($isArm64) { + throw 'Portable ARM64 exe not found' } else { Write-Warning 'Portable exe not found' } @@ -550,7 +619,8 @@ jobs: ### 下载 - **macOS**: `CC-Switch-${{ github.ref_name }}-macOS.dmg`(推荐)或 `CC-Switch-${{ github.ref_name }}-macOS.zip`(解压即用) - - **Windows**: `CC-Switch-${{ github.ref_name }}-Windows.msi`(安装版)或 `CC-Switch-${{ github.ref_name }}-Windows-Portable.zip`(绿色版) + - **Windows (x86_64)**: `CC-Switch-${{ github.ref_name }}-Windows.msi`(安装版)或 `CC-Switch-${{ github.ref_name }}-Windows-Portable.zip`(绿色版) + - **Windows (ARM64)**: `CC-Switch-${{ github.ref_name }}-Windows-arm64.msi`(安装版)或 `CC-Switch-${{ github.ref_name }}-Windows-arm64-Portable.zip`(绿色版) - **Linux (x86_64)**: `CC-Switch-${{ github.ref_name }}-Linux-x86_64.AppImage` / `.deb` / `.rpm` - **Linux (ARM64)**: `CC-Switch-${{ github.ref_name }}-Linux-arm64.AppImage` / `.deb` / `.rpm` @@ -594,7 +664,8 @@ jobs: base_url="https://github.com/$REPO/releases/download/$TAG" # 初始化空平台映射 mac_url=""; mac_sig="" - win_url=""; win_sig="" + win_x64_url=""; win_x64_sig="" + win_arm64_url=""; win_arm64_sig="" linux_x64_url=""; linux_x64_sig="" linux_arm64_url=""; linux_arm64_sig="" shopt -s nullglob @@ -607,12 +678,14 @@ jobs: *.tar.gz) # 视为 macOS updater artifact mac_url="$url"; mac_sig="$sig_content";; + *-Windows-arm64.msi) + win_arm64_url="$url"; win_arm64_sig="$sig_content";; + *-Windows.msi) + win_x64_url="$url"; win_x64_sig="$sig_content";; *-Linux-arm64.AppImage|*-Linux-arm64.appimage) linux_arm64_url="$url"; linux_arm64_sig="$sig_content";; *-Linux-x86_64.AppImage|*-Linux-x86_64.appimage) linux_x64_url="$url"; linux_x64_sig="$sig_content";; - *.msi|*.exe) - win_url="$url"; win_sig="$sig_content";; esac done # 构造 JSON(仅包含存在的目标) @@ -632,9 +705,14 @@ jobs: first=0 done fi - if [ -n "$win_url" ] && [ -n "$win_sig" ]; then + if [ -n "$win_x64_url" ] && [ -n "$win_x64_sig" ]; then [ $first -eq 0 ] && echo ',' - echo " \"windows-x86_64\": {\"signature\": \"$win_sig\", \"url\": \"$win_url\"}" + echo " \"windows-x86_64\": {\"signature\": \"$win_x64_sig\", \"url\": \"$win_x64_url\"}" + first=0 + fi + if [ -n "$win_arm64_url" ] && [ -n "$win_arm64_sig" ]; then + [ $first -eq 0 ] && echo ',' + echo " \"windows-aarch64\": {\"signature\": \"$win_arm64_sig\", \"url\": \"$win_arm64_url\"}" first=0 fi if [ -n "$linux_x64_url" ] && [ -n "$linux_x64_sig" ]; then diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 8a9b6cbb7..60bd57a94 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -184,7 +184,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix", + "rustix 1.1.4", "slab", "windows-sys 0.61.2", ] @@ -215,7 +215,7 @@ dependencies = [ "cfg-if", "event-listener", "futures-lite", - "rustix", + "rustix 1.1.4", ] [[package]] @@ -241,7 +241,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix", + "rustix 1.1.4", "signal-hook-registry", "slab", "windows-sys 0.61.2", @@ -421,6 +421,29 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "bindgen" +version = "0.69.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" +dependencies = [ + "bitflags 2.11.0", + "cexpr", + "clang-sys", + "itertools", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.117", + "which", +] + [[package]] name = "bit-set" version = "0.8.0" @@ -810,6 +833,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + [[package]] name = "cfb" version = "0.7.3" @@ -867,6 +899,17 @@ dependencies = [ "inout", ] +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading 0.8.9", +] + [[package]] name = "clipboard-win" version = "5.4.1" @@ -936,6 +979,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cookie" version = "0.18.1" @@ -1178,7 +1230,7 @@ version = "0.99.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ - "convert_case", + "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version", @@ -1385,6 +1437,12 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + [[package]] name = "embed-resource" version = "3.0.6" @@ -1914,7 +1972,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" dependencies = [ - "rustix", + "rustix 1.1.4", "windows-link 0.2.1", ] @@ -2222,6 +2280,15 @@ dependencies = [ "digest", ] +[[package]] +name = "home" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +dependencies = [ + "windows-sys 0.61.2", +] + [[package]] name = "html5ever" version = "0.29.1" @@ -2616,6 +2683,15 @@ dependencies = [ "once_cell", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.17" @@ -2753,6 +2829,18 @@ dependencies = [ "selectors 0.24.0", ] +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "leb128fmt" version = "0.1.0" @@ -2779,7 +2867,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" dependencies = [ "gtk-sys", - "libloading", + "libloading 0.7.4", "once_cell", ] @@ -2799,6 +2887,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "libloading" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +dependencies = [ + "cfg-if", + "windows-link 0.2.1", +] + [[package]] name = "libredox" version = "0.1.14" @@ -2822,6 +2920,12 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -2954,6 +3058,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "minisign-verify" version = "0.2.5" @@ -3071,6 +3181,16 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "num-conv" version = "0.2.0" @@ -3839,7 +3959,7 @@ dependencies = [ "concurrent-queue", "hermit-abi", "pin-project-lite", - "rustix", + "rustix 1.1.4", "windows-sys 0.61.2", ] @@ -4002,7 +4122,7 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash", + "rustc-hash 2.1.1", "rustls", "socket2", "thiserror 2.0.18", @@ -4022,7 +4142,7 @@ dependencies = [ "lru-slab", "rand 0.9.2", "ring", - "rustc-hash", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", @@ -4278,6 +4398,12 @@ version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +[[package]] +name = "relative-path" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" + [[package]] name = "rend" version = "0.4.2" @@ -4447,6 +4573,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d16661bff09e9ed8e01094a188b463de45ec0693ade55b92ed54027d7ba7c40c" dependencies = [ "rquickjs-core", + "rquickjs-macro", ] [[package]] @@ -4455,15 +4582,34 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8db6379e204ef84c0811e90e7cc3e3e4d7688701db68a00d14a6db6849087b" dependencies = [ + "relative-path", "rquickjs-sys", ] +[[package]] +name = "rquickjs-macro" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6041104330c019fcd936026ae05e2446f5e8a2abef329d924f25424b7052a2f3" +dependencies = [ + "convert_case 0.6.0", + "fnv", + "ident_case", + "indexmap 2.13.0", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "rquickjs-core", + "syn 2.0.117", +] + [[package]] name = "rquickjs-sys" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bc352c6b663604c3c186c000cfcc6c271f4b50bc135a285dd6d4f2a42f9790a" dependencies = [ + "bindgen", "cc", ] @@ -4507,6 +4653,12 @@ dependencies = [ "serde_json", ] +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + [[package]] name = "rustc-hash" version = "2.1.1" @@ -4522,6 +4674,19 @@ dependencies = [ "semver", ] +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +dependencies = [ + "bitflags 2.11.0", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.52.0", +] + [[package]] name = "rustix" version = "1.1.4" @@ -4531,7 +4696,7 @@ dependencies = [ "bitflags 2.11.0", "errno", "libc", - "linux-raw-sys", + "linux-raw-sys 0.12.1", "windows-sys 0.61.2", ] @@ -4775,7 +4940,7 @@ dependencies = [ "phf 0.13.1", "phf_codegen 0.13.1", "precomputed-hash", - "rustc-hash", + "rustc-hash 2.1.1", "servo_arc 0.4.3", "smallvec", ] @@ -5814,7 +5979,7 @@ dependencies = [ "fastrand", "getrandom 0.4.2", "once_cell", - "rustix", + "rustix 1.1.4", "windows-sys 0.61.2", ] @@ -6783,6 +6948,18 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.44", +] + [[package]] name = "winapi" version = "0.3.9" @@ -7527,7 +7704,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" dependencies = [ "gethostname", - "rustix", + "rustix 1.1.4", "x11rb-protocol", ] @@ -7544,7 +7721,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix", + "rustix 1.1.4", ] [[package]] @@ -7601,7 +7778,7 @@ dependencies = [ "hex", "libc", "ordered-stream", - "rustix", + "rustix 1.1.4", "serde", "serde_repr", "tracing", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index d0cd47560..9f7841511 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -91,6 +91,9 @@ webkit2gtk = { version = "2.0.1", features = ["v2_16"] } winreg = "0.52" windows-sys = { version = "0.61", features = ["Win32_Globalization", "Win32_UI_Shell"] } +[target.'cfg(all(target_os = "windows", target_arch = "aarch64"))'.dependencies] +rquickjs = { version = "0.8", features = ["bindgen"] } + [target.'cfg(target_os = "macos")'.dependencies] objc2 = "0.5" objc2-app-kit = { version = "0.2", features = ["NSColor"] }