Files
odfstudio/build-progress.sh
elioperdreau 9f2c8403f2 odfstudio: clean up whitespace
Change-Id: I73e4876f845f70e0b02fee14463ff1dd2f614be4
2026-09-16 22:04:05 +02:00

32 lines
900 B
Bash
Executable File

#!/usr/bin/env bash
# Utilisation : ./build-progress.sh
# Nombre total de fichiers à compiler (estimation)
total=$(find workdir/ -type f -name '*.o' 2>/dev/null | wc -l)
[ "$total" -eq 0 ] && total=30000 # valeur par défaut si aucune estimation
count=0
# Couleurs et mise en forme
bar_length=50
draw_bar() {
local progress=$((count * bar_length / total))
local done=$(printf "%0.s#" $(seq 1 $progress))
local left=$(printf "%0.s-" $(seq 1 $((bar_length - progress))))
printf "\r[%s%s] %d%% (%d/%d)" "$done" "$left" $((count * 100 / total)) "$count" "$total"
}
# Lancer make et suivre sa sortie
stdbuf -oL make -j$(nproc) "$@" 2>&1 | while IFS= read -r line; do
# Détecter une compilation (simple heuristique)
if [[ "$line" =~ (Compiling|CXX|CC|Linking) ]]; then
((count++))
draw_bar
fi
echo "$line"
done
echo
echo "✅ Compilation terminée"