emscripten.yml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. name: Build (Emscripten)
  2. on: [push, pull_request]
  3. jobs:
  4. emscripten:
  5. runs-on: ubuntu-latest
  6. steps:
  7. - uses: actions/checkout@v3
  8. - uses: mymindstorm/setup-emsdk@v10
  9. with:
  10. version: 2.0.32
  11. - name: Install ninja
  12. run: |
  13. sudo apt-get -y update
  14. sudo apt-get install -y ninja-build
  15. - name: Configure CMake
  16. run: |
  17. emcmake cmake -S . -B build \
  18. -DSDL_WERROR=ON \
  19. -DSDL_TESTS=ON \
  20. -DSDL_INSTALL_TESTS=ON \
  21. -DCMAKE_BUILD_TYPE=Release \
  22. -DCMAKE_INSTALL_PREFIX=prefix \
  23. -GNinja
  24. - name: Build
  25. run: cmake --build build/ --verbose
  26. - name: Run build-time tests
  27. run: |
  28. set -eu
  29. export SDL_TESTS_QUICK=1
  30. ctest -VV --test-dir build/
  31. - name: Install
  32. run: |
  33. echo "SDL2_DIR=$(pwd)/prefix" >> $GITHUB_ENV
  34. cmake --install build/
  35. - name: Verify CMake configuration files
  36. run: |
  37. emcmake cmake -S cmake/test -B cmake_config_build \
  38. -DCMAKE_BUILD_TYPE=Release \
  39. -DSDL_VENDOR_INFO="Github Workflow" \
  40. -DTEST_SHARED=FALSE \
  41. -DCMAKE_PREFIX_PATH=${{ env.SDL2_DIR }}
  42. cmake --build cmake_config_build --verbose