#!/bin/bash

# Updates Heimer version in all build and packaging scripts. 
# Must be run in the project root.

VERSION_MAJOR=$1
VERSION_MINOR=$2
VERSION_PATCH=$3

if [[ ! $1 || ! $2 || ! $3 ]]; then
    echo "Usage: $0 VERSION_MAJOR VERSION_MINOR VERSION_PATCH"
    exit 1
fi

FILE=CMakeLists.txt
echo "Updating ${FILE} .."
sed -i "s/^set(VERSION_MAJOR.*/set(VERSION_MAJOR ${VERSION_MAJOR})/" ${FILE} || exit 1
sed -i "s/^set(VERSION_MINOR.*/set(VERSION_MINOR ${VERSION_MINOR})/" ${FILE} || exit 1
sed -i "s/^set(VERSION_PATCH.*/set(VERSION_PATCH ${VERSION_PATCH})/" ${FILE} || exit 1

FILE=packaging/windows/dustrac.nsi
echo "Updating ${FILE} .."
sed -i "s/^!define VERSIONMAJOR.*/!define VERSIONMAJOR ${VERSION_MAJOR}/" ${FILE} || exit 1
sed -i "s/^!define VERSIONMINOR.*/!define VERSIONMINOR ${VERSION_MINOR}/" ${FILE} || exit 1
sed -i "s/^!define VERSIONBUILD.*/!define VERSIONBUILD ${VERSION_PATCH}/" ${FILE} || exit 1

for FILE in src/editor/editor.pro src/game/game.pro scripts/build-windows-installer; do
    echo "Updating ${FILE} .."
    sed -i -E "s/[0-9]+\.[0-9]+\.[0-9]+/$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH/" ${FILE} || exit 1
done

git diff

echo "Done."

