name: Build (RISC OS) on: [push, pull_request] jobs: Build: name: ${{ matrix.platform.name }} runs-on: ubuntu-latest container: riscosdotinfo/riscos-gccsdk-4.7:latest strategy: fail-fast: false matrix: platform: - { name: autotools, test_args: '-DTEST_SHARED=FALSE' } # FIXME: autotools should build and install shared libraries - { name: CMake } steps: - name: Setup dependencies run: apt-get update && apt-get install -y cmake ninja-build - uses: actions/checkout@v4 - name: Configure (autotools) if: ${{ contains(matrix.platform.name, 'autotools') }} run: | mkdir build_autotools cd build_autotools ../configure \ --host=arm-unknown-riscos \ --disable-gcc-atomics \ --prefix=${{ github.workspace }}/prefix_autotools - name: Build (autotools) if: ${{ contains(matrix.platform.name, 'autotools') }} run: make -C build_autotools -j`nproc` V=1 - name: Install (autotools) if: ${{ contains(matrix.platform.name, 'autotools') }} run: | echo "SDL2_DIR=${{ github.workspace }}/prefix_autotools" >> $GITHUB_ENV make -C build_autotools install ( cd ${{ github.workspace }}/prefix_autotools; find ) | LC_ALL=C sort -u - name: Configure (CMake) if: ${{ contains(matrix.platform.name, 'CMake') }} run: | cmake -S . -B build -G Ninja \ -DCMAKE_TOOLCHAIN_FILE=/home/riscos/env/toolchain-riscos.cmake \ -DRISCOS=ON \ -DSDL_GCC_ATOMICS=OFF \ -DSDL_TESTS=ON \ -DSDL_INSTALL_TESTS=ON \ -DSDL_VENDOR_INFO="Github Workflow" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/prefix_cmake - name: Build (CMake) if: ${{ contains(matrix.platform.name, 'CMake') }} run: cmake --build build --verbose - name: Install (CMake) if: ${{ contains(matrix.platform.name, 'CMake') }} run: | echo "SDL2_DIR=${{ github.workspace }}/prefix_cmake" >> $GITHUB_ENV cmake --install build/ ( cd ${{ github.workspace }}/prefix_cmake; 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=/home/riscos/env/toolchain-riscos.cmake \ -DCMAKE_PREFIX_PATH=${{ env.SDL2_DIR }} \ -DCMAKE_BUILD_TYPE=Release \ ${{ matrix.platform.test_args }} cmake --build cmake_config_build --verbose