FROM debian:oldstable-slim
# Linux build environment for ImGui repository (Make-based Linux build)
RUN set -eux; \
apt-get update; \
# Install essential build tools and dependencies
apt-get install -y --no-install-recommends \
build-essential \
gcc-multilib \
g++-multilib \
libglfw3-dev \
libsdl2-dev \
libfreetype6-dev \
libvulkan-dev \
pkg-config \
make \
ca-certificates; \
rm -rf /var/lib/apt/lists/*
# Copy source into the image
WORKDIR /imgui
COPY . /imgui
# Build Linux example_null from source
RUN set -eux; \
cd examples/example_null; \
make clean; \
WITH_EXTRA_WARNINGS=1 make
# Create a predictable entry path for smoke tests: /imgui/example_null -> built executable
RUN set -eux; \
EXE=$(find /imgui -type f -name example_null -executable -print -quit 2>/dev/null || true); \
if [ -n "$EXE" ]; then \
ln -sf "$EXE" /imgui/example_null; \
fi
# Default to an interactive shell for inspection
CMD ["/bin/bash"]