mirror of
https://github.com/Astatin3/meteorbot-old.git
synced 2026-06-09 08:38:07 -06:00
43 lines
925 B
Bash
43 lines
925 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
CONFIGURATION=$1
|
||
|
|
C_COMPILER=$2
|
||
|
|
CXX_COMPILER=$3
|
||
|
|
|
||
|
|
if [[ ! -z "$2" ]] && [[ -z "$3" ]]
|
||
|
|
then
|
||
|
|
echo "You must specify both a C and a C++ compiler, or leave both unspecified."
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [[ -z "$C_COMPILER" ]]
|
||
|
|
then
|
||
|
|
C_COMPILER="clang"
|
||
|
|
CXX_COMPILER="clang++"
|
||
|
|
ADDITIONAL_FLAGS="-D_CMAKE_TOOLCHAIN_PREFIX=llvm-"
|
||
|
|
fi
|
||
|
|
|
||
|
|
BUILD_DIR="build"
|
||
|
|
TARGET_FOLDER_NAME="${CONFIGURATION}-${ARCHITECTURE}-${C_COMPILER}"
|
||
|
|
|
||
|
|
if [[ ! -z "$BUILD_FOLDER_SUFFIX" ]]
|
||
|
|
then
|
||
|
|
TARGET_FOLDER_NAME="${TARGET_FOLDER_NAME}-${BUILD_FOLDER_SUFFIX}"
|
||
|
|
fi
|
||
|
|
|
||
|
|
TARGET_DIR="$BUILD_DIR/$TARGET_FOLDER_NAME"
|
||
|
|
|
||
|
|
echo "Building into $TARGET_DIR"
|
||
|
|
|
||
|
|
mkdir --parents $TARGET_DIR
|
||
|
|
cd $TARGET_DIR
|
||
|
|
|
||
|
|
export CC=$C_COMPILER
|
||
|
|
export CXX=$CXX_COMPILER
|
||
|
|
|
||
|
|
cmake -DCMAKE_BUILD_TYPE=$CONFIGURATION $ADDITIONAL_FLAGS $@ $OLDPWD -G Ninja
|
||
|
|
|
||
|
|
pushd ../
|
||
|
|
# For simplicity of subsequent scripts, create a symlink to the last created build
|
||
|
|
rm -f current
|
||
|
|
ln -s $TARGET_FOLDER_NAME current
|
||
|
|
popd
|