main.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. libpango1.0-dev
  53. sudo apt install meson
  54. git clone --depth 1 https://gitlab.gnome.org/jadahl/libdecor.git --branch 0.1.0
  55. cd libdecor
  56. meson build --buildtype release -Ddemo=false -Ddbus=disabled
  57. ninja -C build
  58. sudo meson install -C build
  59. - uses: actions/checkout@v2
  60. - name: Configure CMake
  61. run: cmake -B build ${{ matrix.platform.flags }}
  62. - name: Build
  63. run: cmake --build build/