1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- name: Build (Sony Playstation Vita)
- on: [push, pull_request]
- defaults:
- run:
- shell: sh
- jobs:
- vita:
- name: ${{ matrix.platform.name }}
- runs-on: ubuntu-latest
- container:
- image: vitasdk/vitasdk:latest
- strategy:
- fail-fast: false
- matrix:
- platform:
- - { name: GLES (pib), os: windows-latest, pib: true }
- - { name: GLES (PVR_PSP2 + gl4es4vita), os: windows-latest, pvr: true }
- steps:
- - uses: actions/checkout@v4
- - name: Install build requirements
- run: |
- apk update
- apk add cmake ninja pkgconf bash
- - name: Configure PVR_PSP2 (GLES)
- if: ${{ !!matrix.platform.pvr }}
- run: |
- pvr_psp2_version=3.9
- # Configure PVR_PSP2 headers
- wget https://github.com/GrapheneCt/PVR_PSP2/archive/refs/tags/v$pvr_psp2_version.zip -P/tmp
- unzip /tmp/v$pvr_psp2_version.zip -d/tmp
- cp -r /tmp/PVR_PSP2-$pvr_psp2_version/include/* ${VITASDK}/arm-vita-eabi/include
- rm /tmp/v$pvr_psp2_version.zip
- # Configure PVR_PSP2 stub libraries
- wget https://github.com/GrapheneCt/PVR_PSP2/releases/download/v$pvr_psp2_version/vitasdk_stubs.zip -P/tmp
- unzip /tmp/vitasdk_stubs.zip -d/tmp/pvr_psp2_stubs
- find /tmp/pvr_psp2_stubs -type f -name "*.a" -exec cp {} ${VITASDK}/arm-vita-eabi/lib \;
- rm /tmp/vitasdk_stubs.zip
- rm -rf /tmp/pvr_psp2_stubs
- - name: Configure gl4es4vita (OpenGL)
- if: ${{ !!matrix.platform.pvr }}
- run: |
- gl4es4vita_version=1.1.4
- # Configure gl4es4vita headers
- wget https://github.com/SonicMastr/gl4es4vita/releases/download/v$gl4es4vita_version-vita/include.zip -P/tmp
- unzip -o /tmp/include.zip -d${VITASDK}/arm-vita-eabi/include
- rm /tmp/include.zip
- # Configure gl4es4vita stub libraries
- wget https://github.com/SonicMastr/gl4es4vita/releases/download/v$gl4es4vita_version-vita/vitasdk_stubs.zip -P/tmp
- unzip /tmp/vitasdk_stubs.zip -d${VITASDK}/arm-vita-eabi/lib
- - name: Configure CMake
- run: |
- cmake -S . -B build -G Ninja \
- -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake \
- -DVIDEO_VITA_PIB=${{ !!matrix.platform.pib }} \
- -DVIDEO_VITA_PVR=${{ !!matrix.platform.pvr }} \
- -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
|