Skip to content

Build

Build #1373

Workflow file for this run

name: Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
- cron: '30 13 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
steps:
- name: Download deps
shell: bash
run: |
if [[ ${RUNNER_OS} == "Linux" ]]; then
sudo apt-get update
sudo apt-get install -y lib{pango1.0,x11,xext,xft,xinerama,mpv}-dev\
lib{xcursor,xrender,xfixes,webkit2gtk-4.1,vlc,png,gl1-mesa}-dev\
ninja-build libglu1-mesa-dev
fi
- uses: actions/checkout@v2
- uses: seanmiddleditch/gha-setup-ninja@master
- name: build cfltk
run: |
git clone https://github.com/MoAlyousef/cfltk
pushd cfltk || return 1
git submodule update --init --recursive
case ${RUNNER_OS} in
Linux ) cmake -Bbin -GNinja -DFLTK_USE_SYSTEM_LIBPNG=OFF -DFLTK_USE_SYSTEM_LIBJPEG=OFF -DFLTK_USE_SYSTEM_ZLIB=OFF -DCFLTK_LINK_IMAGES=ON -DOpenGL_GL_PREFERENCE=GLVND -DFLTK_BUILD_GL=ON -DCFLTK_USE_OPENGL=ON -DCFLTK_SINGLE_THREADED=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCFLTK_CARGO_BUILD=ON -DFLTK_BUILD_EXAMPLES=OFF -DFLTK_BUILD_TEST=OFF -DFLTK_OPTION_LARGE_FILE=ON -DFLTK_BUILD_HTML_DOCS=OFF -DFLTK_BUILD_PDF_DOCS=OFF -DCMAKE_INSTALL_PREFIX=bin -DCMAKE_BUILD_TYPE=Release -DFLTK_GRAPHICS_CAIRO=ON -DFLTK_USE_PANGO=ON -DFLTK_BACKEND_WAYLAND=OFF;;
macOS ) cmake -Bbin -GNinja -DFLTK_USE_SYSTEM_LIBPNG=OFF -DFLTK_USE_SYSTEM_LIBJPEG=OFF -DFLTK_USE_SYSTEM_ZLIB=OFF -DCFLTK_LINK_IMAGES=ON -DOpenGL_GL_PREFERENCE=GLVND -DFLTK_BUILD_GL=ON -DCFLTK_USE_OPENGL=ON -DCFLTK_SINGLE_THREADED=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCFLTK_CARGO_BUILD=ON -DFLTK_BUILD_EXAMPLES=OFF -DFLTK_BUILD_TEST=OFF -DFLTK_OPTION_LARGE_FILE=ON -DFLTK_BUILD_HTML_DOCS=OFF -DFLTK_BUILD_PDF_DOCS=OFF -DCMAKE_INSTALL_PREFIX=bin -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64;;
* ) cmake -Bbin -GNinja -DFLTK_USE_SYSTEM_LIBPNG=OFF -DFLTK_USE_SYSTEM_LIBJPEG=OFF -DFLTK_USE_SYSTEM_ZLIB=OFF -DCFLTK_LINK_IMAGES=ON -DOpenGL_GL_PREFERENCE=GLVND -DFLTK_BUILD_GL=ON -DCFLTK_USE_OPENGL=ON -DCFLTK_SINGLE_THREADED=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCFLTK_CARGO_BUILD=ON -DFLTK_BUILD_EXAMPLES=OFF -DFLTK_BUILD_TEST=OFF -DFLTK_OPTION_LARGE_FILE=ON -DFLTK_BUILD_HTML_DOCS=OFF -DFLTK_BUILD_PDF_DOCS=OFF -DCMAKE_INSTALL_PREFIX=bin -DCMAKE_BUILD_TYPE=Release;;
esac
cmake --build bin --parallel --target install
export CFLTK_BUNDLE_DIR="${PWD}/bin/lib"
shell: bash
- name: Build calendar
working-directory: calendar
shell: bash
run: cargo build --verbose
- name: Build csv
run: cargo build --verbose
working-directory: csv
shell: bash
- name: Build femtovg
run: cargo build --verbose
working-directory: femtovg
shell: bash
- name: Build ffmpeg
run: |
if [ "$RUNNER_OS" == "Linux" ] || [ "$RUNNER_OS" == "macOS" ]; then
cargo build --verbose
fi
working-directory: ffmpeg
shell: bash
- name: Build framebuffer
run: cargo build --verbose
working-directory: framebuffer
shell: bash
- name: Build glium
run: cargo build --verbose
working-directory: glium
shell: bash
- name: Build glow
run: cargo build --verbose
working-directory: glow
shell: bash
- name: Build glut
run: cargo build --verbose
working-directory: glut
shell: bash
- name: Build image
run: cargo build --verbose
working-directory: image
shell: bash
- name: Build libvlc
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
cargo build --verbose
fi
working-directory: libvlc
shell: bash
- name: Build mpv
run: cargo build --verbose
working-directory: mpv
shell: bash
- name: Build musicplayer
run: cargo build --verbose
working-directory: musicplayer
shell: bash
- name: Build opengl
run: cargo build --verbose
working-directory: opengl
shell: bash
- name: Build pixels
run: cargo build --verbose
working-directory: pixels
shell: bash
- name: Build plotters
run: cargo build --verbose
working-directory: plotters
shell: bash
- name: Build raqote
run: cargo build --verbose
working-directory: raqote
shell: bash
- name: Build rounded-svg
run: cargo build --verbose
working-directory: rounded-svg
shell: bash
- name: Build speedy2d
run: cargo build --verbose
working-directory: speedy2d
shell: bash
- name: Build systray
run: cargo build --verbose
working-directory: systray
shell: bash
- name: Build tinyskia
run: cargo build --verbose
working-directory: tinyskia
shell: bash
- name: Build web-todo
run: cargo build --verbose
working-directory: web-todo
shell: bash
- name: Build web-todo2
run: cargo build --verbose
working-directory: web-todo2
shell: bash
- name: Build wgpu
run: cargo build --verbose
working-directory: wgpu
shell: bash
- name: Build xterm
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
cargo build --verbose
fi
working-directory: xterm
shell: bash
- name: Build egui-demo
run: cargo build --verbose
working-directory: egui-demo
shell: bash
- name: Build terminal
run: cargo build --verbose
working-directory: terminal
shell: bash