Files
Bigfoot/generate_dependencies.sh
2026-04-26 14:18:20 +02:00

45 lines
1.9 KiB
Bash

#!/bin/bash
# ─── Validate argument ───────────────────────────────────────────────────────
usage() {
echo "Usage: $0 [force|missing]"
echo " force - Rebuild all packages from source"
echo " missing - Only build packages not already cached"
exit 1
}
if [ -z "$1" ]; then
usage
elif [ "$1" == "force" ]; then
build_option="--build=*"
elif [ "$1" == "missing" ]; then
build_option="--build=missing"
else
echo "Invalid argument: $1"
usage
fi
# ─── Register remote (skip if already registered) ────────────────────────────
if ! conan remote list | grep -qi "bigfootpackages"; then
echo "Adding Conan remote: bigfootpackages"
conan remote add bigfootpackages https://conan.romainboullard.com/artifactory/api/conan/BigfootPackages || exit 1
else
echo "Conan remote 'bigfootpackages' already registered, skipping."
fi
# ─── Shared flags ────────────────────────────────────────────────────────────
conan_common="--remote=bigfootpackages -pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/Tools/clang -of build -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True"
# ─── Install dependencies for each build type ────────────────────────────────
for build_type in Release RelWithDebInfo Debug; do
echo ""
echo "[$build_type] Installing dependencies..."
conan install . $conan_common $build_option -s build_type=$build_type || {
echo "ERROR: conan install failed for build type $build_type"
exit 1
}
echo "[$build_type] Done."
done
echo ""
echo "All build types installed successfully."