1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2024-09-28 07:20:45 +00:00
falk-werner_webfuse-provider/build/amd64-ubuntu-builder.dockerfile
nosamad 0ac03b6150 feat(webfuse): eclipse cdt project (#17)
adds convenience run and discovery targets (for first build target)
allows usage of host container (volume mount/ dind)
fixes portable workspace configuration
adds makefile targets to CDT configuration
fixes localization

* adds eclipse-cdt project and necessary discovery for toolchain settings

* extends targets and fixes discovery

* renames CDT Eclipse project

* enables portable workspace docker-build on build server
2019-03-28 07:43:21 +01:00

84 lines
1.8 KiB
Docker

ARG CODENAME=bionic
FROM ubuntu:$CODENAME as builder
RUN set -x \
&& apt update \
&& apt upgrade -y \
&& apt install --yes --no-install-recommends \
build-essential \
cmake \
ninja-build \
pkg-config \
rsync \
valgrind \
&& rm -rf /var/lib/apt/lists/*
COPY src /usr/local/src
ARG PARALLELMFLAGS=-j2
ARG GTEST_VERSION=1.8.1
RUN set -x \
&& mkdir -p /tmp/out \
&& cd /tmp/out \
&& cmake "/usr/local/src/googletest-release-$GTEST_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf /tmp/out
ARG FUSE_VERSION=3.1.1
RUN set -x \
&& apt update \
&& apt install --yes --no-install-recommends \
libtool \
automake \
gettext \
&& cd "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \
&& ./makeconf.sh \
&& mkdir -p /tmp/out \
&& cd /tmp/out \
&& "/usr/local/src/libfuse-fuse-$FUSE_VERSION/configure" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf /tmp/out \
&& rm -rf /var/lib/apt/lists/*
ARG WEBSOCKETS_VERSION=3.1.0
RUN set -x \
&& apt update \
&& apt install --yes --no-install-recommends \
openssl \
libssl-dev \
&& mkdir -p /tmp/out \
&& cd /tmp/out \
&& cmake "/usr/local/src/libwebsockets-$WEBSOCKETS_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf /tmp/out \
&& rm -rf /var/lib/apt/lists/*
ARG JANSSON_VERSION=2.12
RUN set -x \
&& mkdir -p /tmp/out \
&& cd /tmp/out \
&& cmake -DJANSSON_BUILD_DOCS=OFF "/usr/local/src/jansson-$JANSSON_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf /tmp/out
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
ARG USERID=1000
ARG PROJECT_ROOT=/workspace/src
ARG OUT=/workspace/out
RUN set -x \
&& useradd -u "$USERID" -ms /bin/bash user \
&& mkdir -p "$PROJECT_ROOT" "$OUT" \
&& chown user:user "$PROJECT_ROOT" "$OUT"
WORKDIR "$OUT"