forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.3 KiB
53 lines
1.3 KiB
#!/bin/bash |
|
BUILDTYPE=Release |
|
ARCH=$(uname -m) |
|
ARM64=OFF |
|
CMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake |
|
|
|
if [ "$1" = "--debug" ]; then |
|
BUILDTYPE=Debug |
|
shift |
|
fi |
|
|
|
if [ "$1" = "--aarch64" ]; then |
|
ARM64=ON |
|
CMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/aarch64-linux-gnu.cmake |
|
shift |
|
fi |
|
|
|
BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`; |
|
|
|
if [ $ARCH = "armv6l" ] || [ $ARCH = "armv7l" ] || [ $ARCH = "aarch64" ]; then |
|
# Native compile on the Raspberry Pi |
|
mkdir -p build/raspberry/$BUILDSUBDIR |
|
pushd build/raspberry/$BUILDSUBDIR |
|
cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../.. |
|
if [ $ARCH = "armv6l" ]; then |
|
make |
|
else |
|
make -j4 |
|
fi |
|
if [ "$1" != "" ]; then |
|
sudo make install DESTDIR=$1 |
|
else |
|
sudo make install |
|
fi |
|
elif [ "$1" = "--native" ]; then |
|
# Build natively on the host |
|
mkdir -p build/native/$BUILDSUBDIR |
|
pushd build/native/$BUILDSUBDIR |
|
cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../.. |
|
shift |
|
make -j `nproc` $* |
|
else |
|
# Cross compile on a more capable machine |
|
mkdir -p build/arm-linux/$BUILDSUBDIR |
|
pushd build/arm-linux/$BUILDSUBDIR |
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../.. |
|
make -j `nproc` |
|
|
|
if [ "$1" != "" ]; then |
|
sudo make install DESTDIR=$1 |
|
fi |
|
fi |
|
popd
|
|
|