#!/bin/bash SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" OUTPUT_DIR=${SCRIPT_DIR}/output INSTALL_DIR=${HOME}/.local/bin mkdir -p ${OUTPUT_DIR} # Exit on error set -e # ensure we have latest dehydrate. dehydrate -u function build_native() { local BUILDDIR=${SCRIPT_DIR}/build/native local PREVDIR=$PWD local JOBS=$(nproc) # Set JOBS to the number of available CPU cores mkdir -p ${BUILDDIR} cd ${SCRIPT_DIR} cmake -B ${BUILDDIR} -G Ninja \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DCMAKE_LINKER=mold \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ cd ${BUILDDIR} ninja -j"$JOBS" upx ${BUILDDIR}/dropshell cp ${BUILDDIR}/dropshell ${OUTPUT_DIR}/dropshell cd ${PREVDIR} } build_native echo "Auto-installing dropshell locally..." mkdir -p "${INSTALL_DIR}" cp "${OUTPUT_DIR}/dropshell" "${INSTALL_DIR}/dropshell" ds version echo "Build process completed!"