emscripten.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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: Configure CMake
  12. run: |
  13. emcmake cmake -S . -B build \
  14. -DSDL_WERROR=ON \
  15. -DSDL_TESTS=ON \
  16. -DSDL_INSTALL_TESTS=ON \
  17. -DCMAKE_BUILD_TYPE=Release \
  18. -DCMAKE_INSTALL_PREFIX=prefix
  19. - name: Build
  20. run: cmake --build build/ --verbose
  21. - name: Run build-time tests
  22. run: |
  23. set -eu
  24. export SDL_TESTS_QUICK=1
  25. ctest -VV --test-dir build/
  26. - name: Install
  27. run: |
  28. echo "SDL2_DIR=$(pwd)/prefix" >> $GITHUB_ENV
  29. cmake --install build/
  30. - name: Verify CMake configuration files
  31. run: |
  32. emcmake cmake -S cmake/test -B cmake_config_build \
  33. -DCMAKE_BUILD_TYPE=Release \
  34. -DSDL_VENDOR_INFO="Github Workflow" \
  35. -DTEST_SHARED=FALSE \
  36. -DCMAKE_PREFIX_PATH=${{ env.SDL2_DIR }}
  37. cmake --build cmake_config_build --verbose