46 lines
1.2 KiB
Bash
Executable File
46 lines
1.2 KiB
Bash
Executable File
#!/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
|
|
|
|
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}
|
|
|
|
CC="${HOME}/.musl-cross/x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc"
|
|
CXX="${HOME}/.musl-cross/x86_64-linux-musl-native/bin/x86_64-linux-musl-g++"
|
|
|
|
|
|
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=${CC} \
|
|
-DCMAKE_CXX_COMPILER=${CXX}
|
|
|
|
cd ${BUILDDIR}
|
|
ninja -j"$JOBS"
|
|
|
|
#upx ${BUILDDIR}/dropshell
|
|
cp ${BUILDDIR}/dropshell ${OUTPUT_DIR}/dropshell.native
|
|
|
|
cd ${PREVDIR}
|
|
}
|
|
|
|
build_native
|
|
|
|
echo "Auto-installing dropshell locally..."
|
|
mkdir -p "${INSTALL_DIR}"
|
|
cp "${OUTPUT_DIR}/dropshell.native" "${INSTALL_DIR}/dropshell"
|
|
ds version
|
|
echo "Build process completed!"
|