#!/bin/sh

# We build where we are
SDK_BUILD_BASE=$(pwd -P)/output

if [ -z "$SDK_SRC_BASE" ]
then
echo Script variable SDK_SRC_BASE must be set in the calling \'configure\' script,
echo to the root location of the sources, typically with such a pattern:
echo 'SDK_SRC_BASE="$(cd "$(dirname "$0")"; pwd -P)"' 
echo "(see 'configure.template' from the argeo-build/cmake directory)"
exit 1
fi

SDK_MK=$SDK_SRC_BASE/sdk.mk

if [ -f "$SDK_MK" ]; 
then
echo "File $SDK_MK already exists. Remove it in order to configure a new build location:"
echo "rm $SDK_MK"
exit 1

else

if [ -z "$JAVA_HOME" ]
then
JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
echo "Environment variable JAVA_HOME not set, using $JAVA_HOME of $(which java)"
fi

# Create build directory, so that it can be used right away
# and we check whether we have the rights
mkdir -p $SDK_BUILD_BASE
if [ ! -d "$SDK_BUILD_BASE" ];
then
echo "Cannot create $SDK_BUILD_BASE, SDK configuration has failed."
exit 2
fi

if [ -z "$CMAKE_BUILD_TYPE" ]
then
CMAKE_BUILD_TYPE=Release
fi

(cd $SDK_SRC_BASE && \
cmake -B $SDK_BUILD_BASE/$(basename $SDK_SRC_BASE) \
 -DA2_INSTALL_MODE=a2 \
 -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
 -DJAVA_HOME=$JAVA_HOME
)

echo SDK was configured with CMake.
echo "JAVA_HOME        : $JAVA_HOME"
echo "Base for sources : $SDK_SRC_BASE"
echo "Base for builds  : $SDK_BUILD_BASE"
fi
