#!/bin/bash

# Turn on verbose debugging output
set -x
# Make errors fatal
set -e

MESHOPT_VERSION="0.24"
MESHOPT_SOURCE_URL="https://github.com/zeux/meshoptimizer/archive/refs/tags/v$MESHOPT_VERSION.tar.gz"
MESHOPT_SOURCE_DIR="meshoptimizer-$MESHOPT_VERSION"
MESHOPT_ARCHIVE="meshoptimizer-$MESHOPT_VERSION.tar.gz"

top=`pwd`
stage="$top/stage"

cd $top
rm -rf build/ stage/
mkdir -p build "$stage/lib/release" "$stage/include" "$stage/LICENSES"

if ! [ -d "$MESHOPT_SOURCE_DIR" ] ; then
	if ! [ -f "$MESHOPT_ARCHIVE" ] ; then
		curl -L -o "$MESHOPT_ARCHIVE" "$MESHOPT_SOURCE_URL"
	fi
	tar xzf "$MESHOPT_ARCHIVE"
fi

pushd build
compileflags="-std=c++11 -stdlib=libc++ -m64 -fPIC -g -O2 -fno-strict-aliasing -fvisibility=hidden"
cmake	-G "Xcode" \
		-DCMAKE_INSTALL_PREFIX="$stage" \
		-DCMAKE_OSX_DEPLOYMENT_TARGET="10.8" \
		-DCMAKE_CXX_FLAGS:STRING="$compileflags" \
		"../$MESHOPT_SOURCE_DIR"
xcodebuild -project meshoptimizer.xcodeproj -configuration Release -target meshoptimizer
xcodebuild -project meshoptimizer.xcodeproj -configuration Release -target install
popd
rm -rf build/
cp -a "$MESHOPT_SOURCE_DIR/LICENSE.md" "$stage/LICENSES/meshoptimizer.txt"

pushd "$stage"
rm -rf "./lib/cmake/"
mv -f "lib/"*.a "lib/release/"
DATE=`date +%Y%m%d`
tarball="meshoptimizer-$MESHOPT_VERSION-darwin64-$DATE.tar.bz2"
tar cjf "../$tarball" .
popd
while ! [ -f "$top/$tarball" ] ; do
	sleep 1
done
md5 -r "$top/$tarball"
