name: Build (Sony Playstation Vita)

on: [push, pull_request]

defaults:
  run:
    shell: sh

jobs:
  vita:
    runs-on: ubuntu-latest
    container: 
      image: vitasdk/vitasdk:latest
    steps:
    - uses: actions/checkout@v3
    - name: Install build requirements
      run: |
        apk update 
        apk add cmake ninja pkgconf bash
    - name: Configure CMake
      run: |
        cmake -S . -B build -G Ninja \
          -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake \
          -DSDL_WERROR=ON \
          -DSDL_TESTS=ON \
          -DSDL_INSTALL_TESTS=ON \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=prefix
    - name: Build
      run: cmake --build build --verbose
    - name: Install CMake
      run: |
        echo "SDL2_DIR=$(pwd)/prefix" >> $GITHUB_ENV
        cmake --install build/
        ( cd prefix; find ) | LC_ALL=C sort -u
    - name: Verify CMake configuration files
      run: |
        cmake -S cmake/test -B cmake_config_build -G Ninja \
          -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake \
          -DTEST_SHARED=FALSE \
          -DCMAKE_PREFIX_PATH=${{ env.SDL2_DIR }} \
          -DCMAKE_BUILD_TYPE=Release
        cmake --build cmake_config_build --verbose
    - name: Verify sdl2-config
      run: |
        export CC=arm-vita-eabi-gcc
        export PATH=${{ env.SDL2_DIR }}/bin:$PATH
        cmake/test/test_sdlconfig.sh
    - name: Verify sdl2.pc
      run: |
        export CC=arm-vita-eabi-gcc
        export PKG_CONFIG_PATH=${{ env.SDL2_DIR }}/lib/pkgconfig
        cmake/test/test_pkgconfig.sh
