diff --git a/.github/workflows/build_win.yml b/.github/workflows/build_win.yml index dc97dbf063..695f726ee3 100644 --- a/.github/workflows/build_win.yml +++ b/.github/workflows/build_win.yml @@ -16,11 +16,12 @@ jobs: build_branch: windows-x64 zip_suffix: win64 - # ARM64 dropped while BonsaiViewer is on: wgpu-native does not - # ship a Windows-ARM64 binary, so IfcViewerWgpu's link step fails - # with ~60 unresolved wgpu* externs. Re-enable when upstream - # publishes that target (or when we add ARM64 to the wgpu-native - # FetchContent URL allowlist). + - arch: ARM64 + runs_on: windows-11-arm + deps_dir: _deps-vs2022-ARM64-installed + vcvars: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsarm64.bat"' + build_branch: windows-arm64 + zip_suffix: win-arm64 runs-on: ${{ matrix.runs_on }} diff --git a/src/ifcviewer-wgpu/CMakeLists.txt b/src/ifcviewer-wgpu/CMakeLists.txt index 3c21817fe0..2382a6cc94 100644 --- a/src/ifcviewer-wgpu/CMakeLists.txt +++ b/src/ifcviewer-wgpu/CMakeLists.txt @@ -32,7 +32,11 @@ set(WGPU_NATIVE_VERSION "v29.0.0.0" CACHE STRING "wgpu-native release tag") # Pick the right release archive for the host platform. if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - set(_wgpu_archive "wgpu-windows-x86_64-msvc-release.zip") + if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64|aarch64") + set(_wgpu_archive "wgpu-windows-aarch64-msvc-release.zip") + else() + set(_wgpu_archive "wgpu-windows-x86_64-msvc-release.zip") + endif() set(_wgpu_lib "wgpu_native.dll.lib") set(_wgpu_runtime "wgpu_native.dll") elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")