Init
This commit is contained in:
37
docker/Dockerfile_Base
Normal file
37
docker/Dockerfile_Base
Normal 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
32
docker/Dockerfile_Linux
Normal 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
24
docker/Dockerfile_Windows
Normal 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
|
||||
0
docker/rebuild_from_base.stamp
Normal file
0
docker/rebuild_from_base.stamp
Normal file
1
docker/rebuild_from_llvm.stamp
Normal file
1
docker/rebuild_from_llvm.stamp
Normal file
@@ -0,0 +1 @@
|
||||
1
|
||||
Reference in New Issue
Block a user