FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt update RUN apt-get update && apt-get install -y \ cmake git make wget g++ libtinfo-dev zlib1g-dev xz-utils build-essential python3-dev python3-pip libssl-dev \ squashfs-tools libedit-dev libxml2-dev golang-go swig rsync gawk bison meson libgmp10 libgmp-dev libmpfr-dev libmpc-dev \ libxkbcommon-dev libcairo2-dev libx11-dev libwayland-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev \ libgstreamer-plugins-bad1.0-dev libharfbuzz-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libgl1-mesa-dev libdrm-dev libgles2-mesa-dev \ libvulkan-dev libsqlite3-dev libyaml-libyaml-perl libio-socket-ssl-perl libjson-xs-perl liburi-perl libfontconfig1-dev \ libx11-xcb-dev libxext-dev libxfixes-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev \ libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev \ libxcb-xkb-dev libxkbcommon-x11-dev libxcb-res0-dev libatspi2.0-dev wayland-protocols libwayland-egl-backend-dev wayland-scanner++ libxcb-xinput-dev \ libinput-dev libxcb-xf86dri0-dev libxcb-sync-dev libzstd-dev libgbm-dev libxcb-screensaver0-dev libxcb-damage0-dev libcups2-dev \ libmtdev-dev libdirectfb-dev libegl-dev libglx-dev libopengl-dev libproxy-dev lsb-release software-properties-common gnupg curl libcurlpp-dev flite1-dev \ libspeechd-dev libdbus-1-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev \ libgstreamer-gl1.0-0 gir1.2-gst-plugins-base-1.0 gir1.2-gst-plugins-bad-1.0 libva-dev mesa-common-dev libgl1-mesa-glx libegl1-mesa-dev libegl1 libegl-mesa0 \ libglvnd-dev libgles2-mesa-dev libicu-dev libopus-dev libminizip-dev libavutil-dev libavformat-dev libavcodec-dev libevent-dev libgtk-3-dev libpulse-dev \ libxtst-dev libnspr4-dev libnss3-dev libopenal-dev libbluetooth-dev libglu1-mesa-dev libprotobuf-dev libgrpc++-dev gperf flex libpulse-dev libmysqlclient-dev \ libpq-dev unixodbc-dev libmtdev-dev ADD --chmod=755 https://apt.llvm.org/llvm.sh llvm.sh RUN ./llvm.sh 17 # For libclangBasic.a RUN apt-get install libclang-17-dev RUN mkdir /codebrowser COPY ./generator /codebrowser/generator COPY ./indexgenerator /codebrowser/indexgenerator COPY ./global.h /codebrowser/ COPY ./CMakeLists.txt /codebrowser/ RUN cd /codebrowser && cmake . -DCMAKE_CXX_COMPILER=/usr/bin/clang++-17 -DCMAKE_C_COMPILER=/usr/bin/clang-17 -DLLVM_CONFIG_EXECUTABLE=/usr/bin/llvm-config-17 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON && make -j4