Dockerfile35 lines · 1168 chars FROM ubuntu:jammy-20260509
ENV DEBIAN_FRONTEND=noninteractive
# Ensure /bin/sh is bash to improve compatibility with potential smoke tests
RUN ln -sf /bin/bash /bin/sh
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
libglfw3-dev \
libsdl2-dev \
gcc-multilib \
g++-multilib \
libfreetype6-dev \
libvulkan-dev \
build-essential \
clang \
&& rm -rf /var/lib/apt/lists/*
# Copy the repository
WORKDIR /imgui
COPY . .
# Build from source (Linux example_null variants and freetype option)
RUN mkdir -p build && \
make -C examples/example_null clean && \
CXXFLAGS="$CXXFLAGS -m32 -Werror" make -C examples/example_null WITH_EXTRA_WARNINGS=1 && \
CXXFLAGS="$CXXFLAGS -m64 -Werror" make -C examples/example_null WITH_EXTRA_WARNINGS=1 && \
CXXFLAGS="$CXXFLAGS -m32 -Werror" CXX=clang++ make -C examples/example_null WITH_EXTRA_WARNINGS=1 && \
CXXFLAGS="$CXXFLAGS -m64 -Werror" CXX=clang++ make -C examples/example_null WITH_EXTRA_WARNINGS=1 && \
make -C examples/example_null clean && \
make -C examples/example_null WITH_FREETYPE=1
CMD ["/bin/bash"]