mirror of
https://github.com/decompals/wibo.git
synced 2025-10-15 14:45:12 +00:00
44 lines
1.1 KiB
Docker
44 lines
1.1 KiB
Docker
# Build stage
|
|
FROM ubuntu:24.04 AS build
|
|
|
|
# Install dependencies
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
binutils \
|
|
binutils-mingw-w64-i686 \
|
|
ca-certificates \
|
|
cmake \
|
|
file \
|
|
g++-multilib \
|
|
gcc-mingw-w64-i686 \
|
|
gdb \
|
|
git \
|
|
ninja-build \
|
|
unzip \
|
|
wget \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy source files
|
|
WORKDIR /wibo
|
|
COPY . /wibo
|
|
|
|
# Build type (Release, Debug, RelWithDebInfo, MinSizeRel)
|
|
ARG build_type=Release
|
|
|
|
RUN cmake -S /wibo -B /wibo/build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE="$build_type" \
|
|
-DBUILD_TESTING=ON \
|
|
-DWIBO_ENABLE_FIXTURE_TESTS=ON \
|
|
&& cmake --build /wibo/build \
|
|
&& ( [ "$build_type" != "Release" ] || strip -g /wibo/build/wibo )
|
|
|
|
# Export binary (usage: docker build -f Dockerfile.ubuntu --target export --output dist .)
|
|
FROM scratch AS export
|
|
COPY --from=build /wibo/build/wibo .
|
|
|
|
# Runnable container
|
|
FROM ubuntu:24.04
|
|
COPY --from=build /wibo/build/wibo /usr/local/sbin/wibo
|
|
CMD ["/usr/local/sbin/wibo"]
|