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"