Edit

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

Branch :

  • Show log

    Commit

  • Author : hgs3
    Date : 2021-11-17 17:04:34
    Hash : 6b66542e
    Message : Fixing compilation errors for VS2019 Clang toolset (fixes #4702)

  • .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:
          fail-fast: false
          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 (clang-cl x64), os: windows-latest, shell: pwsh, flags: -T ClangCL -A x64 }
            - { name: Windows (clang-cl x86), os: windows-latest, shell: pwsh, flags: -T ClangCL -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 -DSDL_TEST=ON ${{ matrix.platform.flags }}
        - name: Build
          run: cmake --build build/