2021-01-14 04:19:16 -05:00
|
|
|
name: build
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
|
|
client:
|
|
|
|
runs-on: ubuntu-20.04
|
2021-01-15 18:06:58 -05:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2021-07-17 20:24:43 -04:00
|
|
|
compiler:
|
|
|
|
- {cc: gcc, cxx: g++}
|
|
|
|
- {cc: clang, cxx: clang++}
|
2021-02-21 20:18:04 +01:00
|
|
|
build_type:
|
|
|
|
- Release
|
|
|
|
- Debug
|
2021-01-14 04:19:16 -05:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
2021-01-20 22:51:00 +11:00
|
|
|
- name: Update apt
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
2021-01-14 04:19:16 -05:00
|
|
|
- name: Install client dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get install \
|
2021-01-20 22:51:00 +11:00
|
|
|
binutils-dev \
|
|
|
|
libsdl2-dev libsdl2-ttf-dev \
|
|
|
|
libspice-protocol-dev nettle-dev \
|
|
|
|
libx11-dev libxss-dev libxi-dev \
|
|
|
|
wayland-protocols
|
2021-01-14 04:19:16 -05:00
|
|
|
- name: Configure client
|
2021-02-21 20:18:04 +01:00
|
|
|
env:
|
2021-07-17 20:24:43 -04:00
|
|
|
CC: /usr/bin/${{ matrix.compiler.cc }}
|
|
|
|
CXX: /usr/bin/${{ matrix.compiler.cxx }}
|
2021-01-14 04:19:16 -05:00
|
|
|
run: |
|
|
|
|
mkdir client/build
|
|
|
|
cd client/build
|
2021-03-07 20:48:38 -05:00
|
|
|
cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_SDL=ON ..
|
2021-01-14 04:19:16 -05:00
|
|
|
- name: Build client
|
|
|
|
run: |
|
|
|
|
cd client/build
|
|
|
|
make -j$(nproc)
|
2021-01-14 04:46:31 -05:00
|
|
|
|
|
|
|
module:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
- name: Build kernel module
|
|
|
|
run: |
|
|
|
|
cd module
|
|
|
|
make
|
2021-01-14 04:51:49 -05:00
|
|
|
|
|
|
|
host-linux:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
2021-01-20 22:51:00 +11:00
|
|
|
- name: Update apt
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
2021-01-14 04:51:49 -05:00
|
|
|
- name: Install Linux host dependencies
|
|
|
|
run: |
|
2021-03-14 19:57:55 -04:00
|
|
|
sudo apt-get install binutils-dev libgl1-mesa-dev libxcb-xfixes0-dev
|
2021-01-14 04:51:49 -05:00
|
|
|
- name: Configure Linux host
|
|
|
|
run: |
|
|
|
|
mkdir host/build
|
|
|
|
cd host/build
|
|
|
|
cmake ..
|
|
|
|
- name: Build Linux host
|
|
|
|
run: |
|
|
|
|
cd host/build
|
|
|
|
make -j$(nproc)
|
2021-01-14 05:39:03 -05:00
|
|
|
|
2021-01-15 18:55:13 -05:00
|
|
|
host-windows-cross:
|
2021-01-14 05:39:03 -05:00
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
2021-01-20 22:51:00 +11:00
|
|
|
- name: Update apt
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
2021-01-15 18:55:13 -05:00
|
|
|
- name: Install Windows host cross-compile dependencies
|
2021-01-14 05:39:03 -05:00
|
|
|
run: |
|
|
|
|
sudo apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 nsis
|
2021-01-15 18:55:13 -05:00
|
|
|
- name: Configure Windows host for cross-compile
|
2021-01-14 05:39:03 -05:00
|
|
|
run: |
|
|
|
|
mkdir host/build
|
|
|
|
cd host/build
|
|
|
|
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-mingw64.cmake ..
|
2021-01-15 18:55:13 -05:00
|
|
|
- name: Cross-compile Windows host
|
2021-01-14 05:39:03 -05:00
|
|
|
run: |
|
|
|
|
cd host/build
|
|
|
|
make -j$(nproc)
|
|
|
|
- name: Build Windows host installer
|
|
|
|
run: |
|
|
|
|
cd host/build
|
|
|
|
makensis platform/Windows/installer.nsi
|
2021-01-14 16:30:45 -05:00
|
|
|
|
2021-01-15 18:55:13 -05:00
|
|
|
host-windows-native:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
- name: Configure Windows host for native MinGW-w64
|
|
|
|
run: |
|
|
|
|
mkdir host\build
|
|
|
|
cd host\build
|
|
|
|
cmake -G "MinGW Makefiles" ..
|
|
|
|
- name: Build Windows host on native MinGW-w64
|
|
|
|
run: |
|
|
|
|
cd host\build
|
|
|
|
mingw32-make "-j$([Environment]::ProcessorCount)"
|
|
|
|
- name: Build Windows host installer
|
|
|
|
run: |
|
|
|
|
cd host\build
|
|
|
|
makensis platform\Windows\installer.nsi
|
|
|
|
|
2021-01-14 16:30:45 -05:00
|
|
|
obs:
|
|
|
|
runs-on: ubuntu-latest
|
2021-01-15 18:08:41 -05:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
cc: [gcc, clang]
|
2021-01-14 16:30:45 -05:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
2021-01-20 22:51:00 +11:00
|
|
|
- name: Update apt
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
2021-01-14 16:30:45 -05:00
|
|
|
- name: Install obs plugin dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get install binutils-dev libobs-dev libgl1-mesa-dev
|
|
|
|
- name: Configure obs plugin
|
|
|
|
run: |
|
|
|
|
mkdir obs/build
|
|
|
|
cd obs/build
|
2021-01-15 18:08:41 -05:00
|
|
|
CC=/usr/bin/${{ matrix.cc }} cmake ..
|
2021-01-14 16:30:45 -05:00
|
|
|
- name: Build obs plugin
|
|
|
|
run: |
|
|
|
|
cd obs/build
|
|
|
|
make -j$(nproc)
|