mirror of https://github.com/fltk/fltk.git
FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.5 KiB
100 lines
2.5 KiB
# This file controls GitLab CI (Continuous Integration) for FLTK. |
|
# |
|
# It serves two purposes: |
|
# |
|
# (1) Continuously building FLTK with one or more build systems. |
|
# (2) Generating current HTML documentation and putting it online. |
|
# |
|
# The HTML documentation will be viewable at: |
|
# |
|
# https://fltk.gitlab.io/fltk/ |
|
# |
|
# The PDF documentation will be viewable at: |
|
# |
|
# https://fltk.gitlab.io/fltk/fltk.pdf |
|
# |
|
# Details of this script: |
|
# |
|
# use the official gcc image, based on debian |
|
# can use versions as well, like gcc:5.2 |
|
# see https://hub.docker.com/_/gcc/ |
|
|
|
image: gcc |
|
|
|
stages: |
|
- build |
|
- deploy |
|
|
|
# Build with autoconf/make (including Pango and Cairo) |
|
|
|
# Disabled for regular builds after commits to save build time: "only schedules" |
|
# Note: Build time limits on "GitLab Free" effective Oct 2020: 400 minutes per month |
|
|
|
build-autotools: |
|
stage: build |
|
only: |
|
- schedules |
|
# install the necessary build tools |
|
before_script: |
|
- apt update && apt -y install make autoconf man |
|
- apt -y install freeglut3-dev libfontconfig-dev libxft-dev libglew-dev |
|
- apt -y install libxcursor-dev libxinerama-dev libasound2-dev |
|
- apt -y install libpango1.0-dev libcairo2-dev |
|
script: |
|
- make clean |
|
- ./configure --enable-pango --enable-cairo |
|
- time make -j3 |
|
- cd examples && time make |
|
|
|
# Build with CMake and Ninja (with pango, cairo, building examples) |
|
|
|
build-cmake: |
|
stage: build |
|
only: |
|
- master |
|
# install the necessary build tools |
|
before_script: |
|
- date |
|
- apt update && apt -y install cmake ninja-build |
|
- apt -y install freeglut3-dev libfontconfig-dev libxft-dev libglew-dev |
|
- apt -y install libxcursor-dev libxinerama-dev libasound2-dev |
|
- apt -y install libpango1.0-dev libcairo2-dev |
|
script: |
|
- date |
|
- gcc --version |
|
- mkdir build && cd build |
|
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DFLTK_BUILD_EXAMPLES=ON -DOPTION_USE_PANGO=ON -DOPTION_CAIRO=ON .. |
|
- date |
|
- time ninja |
|
- date |
|
|
|
# Generate and install HTML documentation |
|
|
|
pages: |
|
stage: deploy |
|
only: |
|
- master |
|
# run this job (documentation) independent of the build jobs (empty "needs" clause) |
|
needs: [] |
|
# install the necessary build tools |
|
before_script: |
|
- date |
|
- apt update && apt -y install make autoconf man doxygen doxygen-latex |
|
script: |
|
- date |
|
- make clean |
|
- cd documentation |
|
- date |
|
- make && make html |
|
- date |
|
- make pdf |
|
- date |
|
- cd .. |
|
- mkdir -p public/ |
|
- mv documentation/html/* public/ |
|
- mv documentation/fltk.pdf public/ |
|
- date |
|
artifacts: |
|
paths: |
|
- public |
|
expire_in: 8 days
|
|
|