celestia/azure-pipelines.yml

80 lines
2.2 KiB
YAML

trigger:
- main
strategy:
matrix:
Linux:
imageName: 'ubuntu-latest'
enableLibavif: 'OFF'
enableGLUT: 'ON'
Mac:
imageName: 'macos-latest'
enableLibavif: 'ON'
enableGLUT: 'OFF'
pool:
vmImage: $(imageName)
steps:
- checkout: self
submodules: true
- bash: echo "##vso[task.setvariable variable=shellopts]errexit"
displayName: "Force exit on error (bash)"
- script: |
sudo apt update
sudo apt install -y libeigen3-dev \
libepoxy-dev \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libswscale-dev \
libjpeg-dev \
libpng-dev \
libglu1-mesa-dev \
qtbase5-dev \
qtbase5-dev-tools \
libqt5opengl5-dev \
libgtk2.0-dev \
libgtkglext1-dev \
libfreetype6-dev \
libsdl2-dev \
libluajit-5.1-dev \
freeglut3-dev \
libfmt-dev
displayName: 'Install Linux dependencies'
condition: eq( variables['Agent.OS'], 'Linux' )
- script: |
brew install pkg-config \
eigen \
ffmpeg \
gtk+ \
gtkglext \
cspice \
fmt \
jpeg \
gettext \
libpng \
lua \
qt5 \
freetype \
libepoxy \
sdl2 \
freeglut \
libavif
brew link gettext --force
brew link lua --force
displayName: 'Install macOS dependencies'
condition: eq( variables['Agent.OS'], 'Darwin' )
- script: |
mkdir build
cd build
cmake -DENABLE_SPICE=ON -DENABLE_TOOLS=ON -DENABLE_TESTS=ON -DENABLE_SDL=ON -DENABLE_GTK=ON -DENABLE_GLUT=$(enableGLUT) -DENABLE_FFMPEG=ON -DENABLE_LIBAVIF=$(enableLibavif) ..
make -j $(nproc || echo 4)
CTEST_OUTPUT_ON_FAILURE=1 ctest
workingDirectory: "$(system.defaultworkingdirectory)"
displayName: "Build and test"