Browse Source

add webgpu compilation tests

Andre Weissflog 1 year ago
parent
commit
639c202b7d
3 changed files with 36 additions and 1 deletions
  1. 6 1
      tests/CMakeLists.txt
  2. 28 0
      tests/CMakePresets.json
  3. 2 0
      tests/test_emscripten.sh

+ 6 - 1
tests/CMakeLists.txt

@@ -69,7 +69,12 @@ endif()
 
 if (EMSCRIPTEN)
     set(CMAKE_EXECUTABLE_SUFFIX ".html")
-    set(link_flags ${link-flags} -sNO_FILESYSTEM=1 -sASSERTIONS=0 -sMALLOC=emmalloc -sINITIAL_MEMORY=33554432 --closure=1)
+    set(link_flags ${link_flags} -sNO_FILESYSTEM=1 -sASSERTIONS=0 -sMALLOC=emmalloc -sINITIAL_MEMORY=33554432 --closure=1)
+    if (SOKOL_BACKEND STREQUAL SOKOL_WGPU)
+        set(link_flags ${link_flags} -sUSE_WEBGPU=1)
+    else()
+        set(link_flags ${link_flags} -sUSE_WEBGL2=1)
+    endif()
 elseif (OSX_IOS)
     set(exe_type MACOSX_BUNDLE)
     if (USE_ARC)

+ 28 - 0
tests/CMakePresets.json

@@ -390,6 +390,26 @@
                 "CMAKE_BUILD_TYPE": "Release"
             }
         },
+        {
+            "name": "emsc_wgpu_debug",
+            "generator": "Ninja",
+            "binaryDir": "build/emsc_wgpu_debug",
+            "toolchainFile": "build/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake",
+            "cacheVariables": {
+                "SOKOL_BACKEND": "SOKOL_WGPU",
+                "CMAKE_BUILD_TYPE": "Debug"
+            }
+        },
+        {
+            "name": "emsc_wgpu_release",
+            "generator": "Ninja",
+            "binaryDir": "build/emsc_wgpu_release",
+            "toolchainFile": "build/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake",
+            "cacheVariables": {
+                "SOKOL_BACKEND": "SOKOL_WGPU",
+                "CMAKE_BUILD_TYPE": "Release"
+            }
+        },
         {
             "name": "android_debug",
             "generator": "Ninja",
@@ -644,6 +664,14 @@
             "name": "emsc_webgl2_release",
             "configurePreset": "emsc_webgl2_release"
         },
+        {
+            "name": "emsc_wgpu_debug",
+            "configurePreset": "emsc_wgpu_debug"
+        },
+        {
+            "name": "emsc_wgpu_release",
+            "configurePreset": "emsc_wgpu_release"
+        },
         {
             "name": "android_debug",
             "configurePreset": "android_debug"

+ 2 - 0
tests/test_emscripten.sh

@@ -4,3 +4,5 @@ source test_common.sh
 setup_emsdk
 build emsc_webgl2_debug emsc_webgl2_debug
 build emsc_webgl2_release emsc_webgl2_release
+build emsc_wgpu_debug emsc_wgpu_debug
+build emsc_wgpu_release emsc_wgpu_release