# 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"]