diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index ee24e40..d5452e5 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - system: [ Linux-x64, Windows-MSVC-x64, Windows-MSYS-x64, MacOS-x64, MacOS-ARM ] + system: [ Linux-x64, Windows-MSVC-x64, Windows-MSYS-x64, MacOS-x64, MacOS-ARM, emscripten ] webgpu-backend: [ DAWN, WGPU ] link-type: [ SHARED, STATIC ] build-type: [ Debug, Release ] @@ -43,9 +43,21 @@ jobs: - system: MacOS-x64 runner: macos-13 + - system: emscripten + runner: ubuntu-latest + cmake-wrapper: emcmake + emsdk-version: 3.1.61 + exclude: + # Latest version of Dawn to not support static linking - webgpu-backend: DAWN link-type: STATIC + # Emscripten does not care about backend, keeping only DAWN as a mock value + - system: emscripten + webgpu-backend: WGPU + # Emscripten does not care about linking, keeping only STATIC as a mock value + - system: emscripten + link-type: SHARED runs-on: ${{ matrix.runner }} @@ -64,9 +76,15 @@ jobs: msystem: ${{ matrix.msystem }} pacboy: cmake:p + - name: Setup emscripten + if: ${{ matrix.emsdk-version }} + uses: mymindstorm/setup-emsdk@v14 + with: + version: ${{ matrix.emsdk-version }} + - name: Configure CMake run: > - cmake + ${{ matrix.cmake-wrapper }} cmake -S examples -B build -DWEBGPU_BACKEND=${{ matrix.webgpu-backend }} diff --git a/README.md b/README.md index 67cc832..538c7f6 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ LearnWebGPU  |  WebGPU-C++  |  WebGPU-distribution
- glfw3webgpu  |  sdl2webgpu + glfw3webgpu  |  sdl2webgpu  |  sdl3webgpu Discord | Join us!