#!/usr/bin/env bash SCRIPTDIR=$(dirname $(realpath "${BASH_SOURCE[0]}")) ROOTDIR=$SCRIPTDIR/.. BUILDDIR=$SCRIPTDIR/../build-libretro set -e make_build() { PLATFORM=$1 OPTIONS=$2 SUFFIX=$3 ZIPFILE=../duckstation_libretro_${PLATFORM}.zip echo Building for ${PLATFORM}... cd $BUILDDIR rm -fr $PLATFORM mkdir -p $PLATFORM cd $PLATFORM cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_LIBRETRO_CORE=ON $OPTIONS $ROOTDIR ninja rm -f $ZIPFILE zip -j $ZIPFILE duckstation_libretro${SUFFIX}.so cd .. } echo Creating build directory... mkdir -p $BUILDDIR cd $BUILDDIR || exit $? rm -f duckstation_libretro_android_aarch64.zip duckstation_libretro_android_armv7.zip duckstation_libretro_linux_x64.zip duckstation_libretro_linux_aarch64.zip duckstation_libretro_linux_armv7.zip echo Building... make_build linux_x64 "" "" make_build linux_aarch64 "-DCMAKE_TOOLCHAIN_FILE=$ROOTDIR/CMakeModules/aarch64-cross-toolchain.cmake" "" make_build linux_armv7 "-DCMAKE_TOOLCHAIN_FILE=$ROOTDIR/CMakeModules/armv7-cross-toolchain.cmake" "" make_build android_aarch64 "-DANDROID_ABI=arm64-v8a -DCMAKE_TOOLCHAIN_FILE=/home/user/Android/ndk-bundle/build/cmake/android.toolchain.cmake" "_android" make_build android_armv7 "-DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=ON -DCMAKE_TOOLCHAIN_FILE=/home/user/Android/ndk-bundle/build/cmake/android.toolchain.cmake" "_android"