main.yml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. name: Build
  2. on: [push, pull_request]
  3. jobs:
  4. Build:
  5. name: ${{ matrix.platform.name }}
  6. runs-on: ${{ matrix.platform.os }}
  7. strategy:
  8. matrix:
  9. platform:
  10. - { name: Windows (x64), os: windows-latest, flags: -A x64 }
  11. - { name: Windows (x86), os: windows-latest, flags: -A Win32 }
  12. - { name: Windows (ARM64), os: windows-latest, flags: -A ARM64 }
  13. - { name: Linux, os: ubuntu-20.04, flags: -GNinja }
  14. - { name: MacOS, os: macos-latest }
  15. steps:
  16. - name: Setup Linux dependencies
  17. if: runner.os == 'Linux'
  18. run: |
  19. sudo apt-get update
  20. sudo apt-get install wayland-protocols \
  21. pkg-config \
  22. ninja-build \
  23. libasound2-dev \
  24. libdbus-1-dev \
  25. libegl1-mesa-dev \
  26. libgl1-mesa-dev \
  27. libgles2-mesa-dev \
  28. libglu1-mesa-dev \
  29. libibus-1.0-dev \
  30. libpulse-dev \
  31. libsdl2-2.0-0 \
  32. libsndio-dev \
  33. libudev-dev \
  34. libwayland-dev \
  35. libwayland-client++0 \
  36. wayland-scanner++ \
  37. libwayland-cursor++0 \
  38. libx11-dev \
  39. libxcursor-dev \
  40. libxext-dev \
  41. libxi-dev \
  42. libxinerama-dev \
  43. libxkbcommon-dev \
  44. libxrandr-dev \
  45. libxss-dev \
  46. libxt-dev \
  47. libxv-dev \
  48. libxxf86vm-dev \
  49. libdrm-dev \
  50. libgbm-dev\
  51. libpulse-dev
  52. - uses: actions/checkout@v2
  53. - name: Configure CMake
  54. run: cmake -B build ${{ matrix.platform.flags }}
  55. - name: Build
  56. run: cmake --build build/