wibo/Dockerfile

26 lines
755 B
Docker
Raw Normal View History

2023-01-23 01:20:30 +00:00
# Build stage
FROM --platform=linux/i386 alpine:latest AS build
2023-01-23 01:20:30 +00:00
# Install dependencies
RUN apk add --no-cache cmake ninja g++ linux-headers binutils
2023-01-23 01:20:30 +00:00
# Copy source files
COPY . /wibo
# Build type (Release, Debug, RelWithDebInfo, MinSizeRel)
ARG build_type=Release
2023-01-23 01:20:30 +00:00
# Build static binary
RUN cmake -S /wibo -B /wibo/build -G Ninja -DCMAKE_BUILD_TYPE="$build_type" -DCMAKE_CXX_FLAGS="-static" \
2023-01-23 01:20:30 +00:00
&& cmake --build /wibo/build \
&& ( [ "$build_type" != "Release" ] || strip -g /wibo/build/wibo )
2023-01-23 01:20:30 +00:00
# Export binary (usage: docker build --target export --output build .)
FROM scratch AS export
COPY --from=build /wibo/build/wibo .
2023-01-23 01:20:30 +00:00
# Runnable container
FROM alpine:latest
COPY --from=build /wibo/build/wibo /usr/local/sbin/wibo
CMD /usr/local/sbin/wibo