You've already forked flecs_tests
63 lines
2.0 KiB
Bash
63 lines
2.0 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
LIB_DIR="lib"
|
|
|
|
echo "=== Fetching library dependencies ==="
|
|
|
|
# 1. Sokol (single-file headers)
|
|
mkdir -p "$LIB_DIR/sokol"
|
|
mkdir -p "$LIB_DIR/imgui"
|
|
mkdir -p "$LIB_DIR/util"
|
|
mkdir -p "$LIB_DIR/cglm"
|
|
|
|
if [ ! -f "$LIB_DIR/sokol/sokol_gfx.h" ]; then
|
|
echo " > Fetching sokol (pinned to emdawnwebgpu-compatible version)..."
|
|
git clone --depth 500 https://github.com/floooh/sokol.git "$LIB_DIR/sokol_tmp"
|
|
git -C "$LIB_DIR/sokol_tmp" checkout 36debc7
|
|
cp "$LIB_DIR/sokol_tmp"/*.h "$LIB_DIR/sokol/"
|
|
cp "$LIB_DIR/sokol_tmp"/util/*.h "$LIB_DIR/util/" 2>/dev/null || true
|
|
rm -rf "$LIB_DIR/sokol_tmp"
|
|
else
|
|
echo " > Sokol already present"
|
|
fi
|
|
|
|
# 2. Dear ImGui
|
|
if [ ! -f "$LIB_DIR/imgui/imgui/imgui.cpp" ]; then
|
|
echo " > Fetching Dear ImGui..."
|
|
mkdir -p "$LIB_DIR/imgui/imgui"
|
|
git clone --depth 1 --branch v1.92.7-docking https://github.com/ocornut/imgui.git "$LIB_DIR/imgui_src"
|
|
cp "$LIB_DIR/imgui_src"/*.cpp "$LIB_DIR/imgui/imgui/"
|
|
cp "$LIB_DIR/imgui_src"/*.h "$LIB_DIR/imgui/imgui/"
|
|
rm -rf "$LIB_DIR/imgui_src"
|
|
else
|
|
echo " > Dear ImGui already present"
|
|
fi
|
|
|
|
# 3. cimgui
|
|
if [ ! -f "$LIB_DIR/imgui/cimgui.cpp" ]; then
|
|
echo " > Fetching cimgui..."
|
|
git clone --depth 1 https://github.com/cimgui/cimgui.git "$LIB_DIR/cimgui_tmp"
|
|
cp "$LIB_DIR/cimgui_tmp/cimgui.h" "$LIB_DIR/imgui/"
|
|
cp "$LIB_DIR/cimgui_tmp/cimgui.cpp" "$LIB_DIR/imgui/"
|
|
cp "$LIB_DIR/cimgui_tmp/cimconfig.h" "$LIB_DIR/imgui/"
|
|
cp "$LIB_DIR/cimgui_tmp/cimgui_impl.h" "$LIB_DIR/imgui/"
|
|
cp "$LIB_DIR/cimgui_tmp/cimgui_impl.cpp" "$LIB_DIR/imgui/"
|
|
rm -rf "$LIB_DIR/cimgui_tmp"
|
|
else
|
|
echo " > cimgui already present"
|
|
fi
|
|
|
|
# 4. cglm
|
|
if [ ! -f "$LIB_DIR/cglm/include/cglm/cglm.h" ]; then
|
|
echo " > Fetching cglm..."
|
|
git clone --depth 1 --branch v0.9.6 https://github.com/recp/cglm.git "$LIB_DIR/cglm_tmp"
|
|
cp -r "$LIB_DIR/cglm_tmp/include" "$LIB_DIR/cglm/"
|
|
cp -r "$LIB_DIR/cglm_tmp/src" "$LIB_DIR/cglm/"
|
|
rm -rf "$LIB_DIR/cglm_tmp"
|
|
else
|
|
echo " > cglm already present"
|
|
fi
|
|
|
|
echo "=== Done ==="
|