diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..2bf55995d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,29 @@ +variables: + UPSTREAM_REPO: monado/monado + DEBIAN_VERSION: buster + DEBIAN_TAG: '2019-03-19.0' + DEBIAN_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG + DEBIAN_DEBS: build-essential git cmake meson ninja-build doxygen graphviz libeigen3-dev curl patch python3 pkg-config libx11-dev libxxf86vm-dev libxrandr-dev libxcb-randr0-dev libhidapi-dev libwayland-dev libvulkan-dev glslang-dev glslang-tools libglvnd-dev libgl1-mesa-dev ca-certificates + DEBIAN_EXEC: 'bash .gitlab-ci/build-openxr-openhmd.sh' + +include: + - project: 'wayland/ci-templates' + ref: c73dae8b84697ef18e2dbbf4fed7386d9652b0cd + file: '/templates/debian.yml' + +stages: + - container_prep + - build + +container_prep: + extends: .debian@container-ifnot-exists + stage: container_prep + +build-cmake: + stage: build + image: $DEBIAN_CONTAINER_IMAGE + script: + - mkdir build + - pushd build + - cmake -GNinja .. + - ninja diff --git a/.gitlab-ci/build-openxr-openhmd.sh b/.gitlab-ci/build-openxr-openhmd.sh new file mode 100755 index 000000000..6ea362b41 --- /dev/null +++ b/.gitlab-ci/build-openxr-openhmd.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Install the OpenXR SDK, whatever version, with @haagch's patch so we can +# actually install it system-wide. +git clone https://github.com/KhronosGroup/OpenXR-SDK +pushd OpenXR-SDK +curl 'https://aur.archlinux.org/cgit/aur.git/plain/support_installing_the_loader.diff?h=openxr-loader-git' | patch -p1 +mkdir build +pushd build +cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=Off -DPRESENTATION_BACKEND=xlib -DDYNAMIC_LOADER=ON -DOpenGL_GL_PREFERENCE=GLVND -GNinja .. +ninja install +popd +popd + +# Install OpenHMD from git master, as released versions are not sufficient +# for us to build. +git clone https://github.com/OpenHMD/OpenHMD +pushd OpenHMD +mkdir build +meson --prefix=/usr/local --libdir=lib build +ninja -C build install +popd