This commit is contained in:
User
2026-01-29 17:06:34 +01:00
commit 17c1ae1638
77 changed files with 25724 additions and 0 deletions

37
docker/Dockerfile_Base Normal file
View File

@@ -0,0 +1,37 @@
# Ensure `nvidia-smi` & `vulkaninfo` run correctly on the host system.
# Run with `sudo docker run -it --rm --gpus all <tag>`.
# Check `nvidia-smi` & `vulkaninfo` run correctly inside the container.
# may need to install:
# libnvidia-gl-525-server \
# vulkan-tools
# for debugging maybe: gdb
FROM ubuntu:22.04
# Non interactive mode
ENV DEBIAN_FRONTEND=noninteractive
COPY docker/rebuild_from_base.stamp docker/rebuild_from_base.stamp
# Dependencies & Tools
RUN apt-get update && \
apt-get install -y --no-install-recommends \
cmake git micro jq \
pkg-config curl wget zip \
ca-certificates xz-utils \
software-properties-common \
cppcheck valgrind \
`# glfw dependecies for x11 ` \
xorg-dev \
`# glfw dependecies for wayland ` \
libwayland-dev libxkbcommon-dev wayland-protocols extra-cmake-modules \
`# bgfx dependecies ` \
libgl1-mesa-dev x11proto-core-dev libx11-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
`# custom ninja ` \
wget -O /usr/bin/ninja https://git.lph.zone/crydsch/ninja/releases/download/latest.proc_loadavg/ninja && \
chmod +x /usr/bin/ninja && \
ninja --version && \
`# disable git detachedHead warning ` \
git config --global advice.detachedHead false

32
docker/Dockerfile_Linux Normal file
View File

@@ -0,0 +1,32 @@
FROM spacegame_base
COPY docker/rebuild_from_llvm.stamp docker/rebuild_from_llvm.stamp
# LLVM
# RUN `# llvm-16 ` \
# wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc && \
# add-apt-repository deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main && \
# apt-get update && \
# apt-get install -y --no-install-recommends \
# clang-16 clang-tools-16 \
# lldb-16 lld-16 \
# clang-tidy-16 clang-format-16 \
# libc++-16-dev libc++abi-16-dev && \
# apt-get clean && \
# rm -rf /var/lib/apt/lists/*
COPY scripts/setup_llvm_links.sh scripts/setup_llvm_links.sh
RUN `# llvm stable via convenience script` \
wget https://apt.llvm.org/llvm.sh && \
chmod +x llvm.sh && \
./llvm.sh all && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
`# setup required links` \
scripts/setup_llvm_links.sh
# Build 3rdparty deps
COPY 3rdparty 3rdparty
COPY cmake/clang_toolchain.cmake cmake/clang_toolchain.cmake
COPY scripts/build_deps.sh scripts/build_deps.sh
RUN scripts/build_deps.sh "cmake/clang_toolchain.cmake" && \
rm -rf 3rdparty/glfw 3rdparty/bx 3rdparty/bimg 3rdparty/bgfx 3rdparty/bgfx.cmake

24
docker/Dockerfile_Windows Normal file
View File

@@ -0,0 +1,24 @@
FROM spacegame_base
COPY docker/rebuild_from_llvm.stamp docker/rebuild_from_llvm.stamp
# LLVM
RUN `# llvm mingw ` \
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer 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" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/mstorsjo/llvm-mingw/releases/latest | jq '.assets[] | select( .name | test("ucrt-ubuntu-20.04-x86_64") ).browser_download_url' | xargs wget -O llvm-mingw-x86_64.tar.xz && \
mkdir llvm-mingw-x86_64 && \
tar xvf llvm-mingw-x86_64.tar.xz --directory llvm-mingw-x86_64 --strip-components=1 && \
rm -rf llvm-mingw-x86_64.tar.xz \
llvm-mingw-x86_64/aarch64-w64-mingw32 \
llvm-mingw-x86_64/armv7-w64-mingw32 \
llvm-mingw-x86_64/i686-w64-mingw32
# Build 3rdparty deps
COPY 3rdparty 3rdparty
COPY cmake/clang_mingw_toolchain.cmake cmake/clang_mingw_toolchain.cmake
COPY scripts/build_deps.sh scripts/build_deps.sh
RUN scripts/build_deps.sh "cmake/clang_mingw_toolchain.cmake" && \
rm -rf 3rdparty/glfw 3rdparty/bx 3rdparty/bimg 3rdparty/bgfx 3rdparty/bgfx.cmake

View File

View File

@@ -0,0 +1 @@
1