Use standard names.
This commit is contained in:
76
build.sh
Executable file
76
build.sh
Executable file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit on error
|
||||
set -e
|
||||
|
||||
# DIRECTORIES
|
||||
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
CACHE_DIR="${SCRIPT_DIR}/cache"
|
||||
EXE_DIR="${SCRIPT_DIR}/exe"
|
||||
|
||||
# FUNCTIONS
|
||||
function title() {
|
||||
echo "----------------------------------------"
|
||||
# Center the text
|
||||
local text="$1"
|
||||
local line_length=40
|
||||
local text_length=${#text}
|
||||
local padding=$(( (line_length - text_length) / 2 ))
|
||||
printf "%*s%s%*s\n" $padding "" "$text" $padding ""
|
||||
echo "----------------------------------------"
|
||||
}
|
||||
|
||||
function die() {
|
||||
echo " "
|
||||
title "$1"
|
||||
echo " "
|
||||
exit 1
|
||||
}
|
||||
|
||||
function build() {
|
||||
ARCH=$1
|
||||
|
||||
BUILD_NAME="build-${ARCH}"
|
||||
BUILD_DIR="${SCRIPT_DIR}/${BUILD_NAME}"
|
||||
mkdir -p ${BUILD_DIR}
|
||||
|
||||
DOCKCROSS_SCRIPT="${CACHE_DIR}/dockcross-${ARCH}"
|
||||
|
||||
if [ ! -f "${DOCKCROSS_SCRIPT}" ]; then
|
||||
echo "Downloading dockcross-${ARCH}"
|
||||
docker run --rm "dockcross/${ARCH}-full" > "${DOCKCROSS_SCRIPT}"
|
||||
chmod +x "${DOCKCROSS_SCRIPT}"
|
||||
fi
|
||||
|
||||
echo "Building $ARCH executable"
|
||||
cd "${SCRIPT_DIR}"
|
||||
"${DOCKCROSS_SCRIPT}" bash -c "cd ${BUILD_NAME} && cmake .. && make -j$(nproc)"
|
||||
|
||||
if [ ! -f ${BUILD_DIR}/simple_object_storage ]; then
|
||||
die "Failed to build $ARCH executable"
|
||||
fi
|
||||
|
||||
echo "Copying $ARCH executable to $EXE_DIR/simple_object_storage-$ARCH"
|
||||
cp ${BUILD_DIR}/simple_object_storage $EXE_DIR/simple_object_storage-$ARCH
|
||||
}
|
||||
|
||||
#--------------------------------
|
||||
# MAIN
|
||||
#--------------------------------
|
||||
cd $SCRIPT_DIR
|
||||
|
||||
mkdir -p ${CACHE_DIR}
|
||||
mkdir -p ${EXE_DIR}
|
||||
|
||||
title "Building linux-arm64 executable"
|
||||
build linux-arm64 || die "Failed to build linux-arm64 executable"
|
||||
|
||||
title "Building linux-x86_64 executable"
|
||||
build linux-x86_64 || die "Failed to build linux-x86_64 executable"
|
||||
|
||||
echo "Compile completed successfully!"
|
||||
echo "x86_64 executable: ./simple_object_storage-linux-x86_64"
|
||||
echo "arm64 executable: ./simple_object_storage-linux-arm64"
|
||||
|
||||
echo "Build completed successfully!"
|
||||
|
Reference in New Issue
Block a user