Edit

kc3-lang/SDL/.github/workflows/main.yml

Branch :

  • Show log

    Commit

  • Author : Cameron Cawley
    Date : 2021-09-20 13:22:20
    Hash : 21c10827
    Message : Add MinGW-w64 builds to GitHub Actions

  • .github/workflows/main.yml
  • name: Build
    
    on: [push, pull_request]
    
    jobs:
      Build:
        name: ${{ matrix.platform.name }}
        runs-on: ${{ matrix.platform.os }}
    
        defaults:
          run:
            shell: ${{ matrix.platform.shell }}
    
        strategy:
          matrix:
            platform:
            - { name: Windows (x64),     os: windows-latest, shell: pwsh, flags: -A x64 }
            - { name: Windows (x86),     os: windows-latest, shell: pwsh, flags: -A Win32 }
            - { name: Windows (ARM64),   os: windows-latest, shell: pwsh, flags: -A ARM64 }
            - { name: Windows (mingw32), os: windows-latest, shell: 'msys2 {0}', msystem: mingw32, msys-env: mingw-w64-i686 }
            - { name: Windows (mingw64), os: windows-latest, shell: 'msys2 {0}', msystem: mingw64, msys-env: mingw-w64-x86_64 }
            - { name: Linux,             os: ubuntu-20.04,   shell: sh,   flags: -GNinja }
            - { name: MacOS,             os: macos-latest,   shell: sh }
    
        steps:
        - name: Set up MSYS2
          if: matrix.platform.shell == 'msys2 {0}'
          uses: msys2/setup-msys2@v2
          with:
            msystem: ${{ matrix.platform.msystem }}
            install: >-
              ${{ matrix.platform.msys-env }}-gcc
              ${{ matrix.platform.msys-env }}-cmake
              ${{ matrix.platform.msys-env }}-ninja
              ${{ matrix.platform.msys-env }}-pkg-config
    
        - name: Setup Linux dependencies
          if: runner.os == 'Linux'
          run: |
            sudo apt-get update
            sudo apt-get install wayland-protocols \
              pkg-config \
              ninja-build \
              libasound2-dev \
              libdbus-1-dev \
              libegl1-mesa-dev \
              libgl1-mesa-dev \
              libgles2-mesa-dev \
              libglu1-mesa-dev \
              libibus-1.0-dev \
              libpulse-dev \
              libsdl2-2.0-0 \
              libsndio-dev \
              libudev-dev \
              libwayland-dev \
              libwayland-client++0 \
              wayland-scanner++ \
              libwayland-cursor++0 \
              libx11-dev \
              libxcursor-dev \
              libxext-dev \
              libxi-dev \
              libxinerama-dev \
              libxkbcommon-dev \
              libxrandr-dev \
              libxss-dev \
              libxt-dev \
              libxv-dev \
              libxxf86vm-dev \
              libdrm-dev \
              libgbm-dev\
              libpulse-dev \
              libpango1.0-dev
            sudo apt install meson
            git clone --depth 1 https://gitlab.gnome.org/jadahl/libdecor.git --branch 0.1.0
            cd libdecor
            meson build --buildtype release -Ddemo=false -Ddbus=disabled
            ninja -C build
            sudo meson install -C build
        - uses: actions/checkout@v2
        - name: Configure CMake
          run: cmake -B build ${{ matrix.platform.flags }}
        - name: Build
          run: cmake --build build/