mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-27 16:15:41 +00:00
40 lines
1.3 KiB
Bash
40 lines
1.3 KiB
Bash
|
#!/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
|
||
|
|
||
|
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 ../duckstation_${PLATFORM}.zip
|
||
|
zip -j ../duckstation_${PLATFORM}.zip 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"
|
||
|
|