name: Build (Emscripten) on: [push, pull_request] jobs: emscripten: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: mymindstorm/setup-emsdk@v14 with: version: 3.1.35 - name: Install ninja run: | sudo apt-get -y update sudo apt-get install -y ninja-build - name: Configure CMake run: | emcmake cmake -S . -B build \ -DSDL_WERROR=ON \ -DSDL_TESTS=ON \ -DSDL_INSTALL_TESTS=ON \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=prefix \ -GNinja - name: Build run: cmake --build build/ --verbose - name: Run build-time tests run: | set -eu export SDL_TESTS_QUICK=1 # FIXME: enable Emscripten build time tests # ctest -VV --test-dir build/ - name: Install run: | echo "SDL2_DIR=$(pwd)/prefix" >> $GITHUB_ENV cmake --install build/ - name: Verify CMake configuration files run: | emcmake cmake -S cmake/test -B cmake_config_build \ -DCMAKE_BUILD_TYPE=Release \ -DSDL_VENDOR_INFO="Github Workflow" \ -DTEST_SHARED=FALSE \ -DCMAKE_PREFIX_PATH=${{ env.SDL2_DIR }} cmake --build cmake_config_build --verbose