mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2025-03-06 14:27:44 +00:00
scripts: Add libretro core build scripts
This commit is contained in:
parent
d4a13f511c
commit
143a82b543
31
scripts/build_libretro_cores.bat
Normal file
31
scripts/build_libretro_cores.bat
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
@echo off
|
||||||
|
echo Updating SCM version...
|
||||||
|
pushd %~dp0
|
||||||
|
cd ..\src\scmversion
|
||||||
|
start /w gen_scmversion.bat
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo Setting MSVC environment...
|
||||||
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
|
||||||
|
|
||||||
|
echo Creating build directory...
|
||||||
|
pushd %~dp0
|
||||||
|
cd ..
|
||||||
|
if not exist build-libretro mkdir build-libretro
|
||||||
|
cd build-libretro
|
||||||
|
del /q duckstation_libretro_windows_x64.zip
|
||||||
|
rmdir /Q /S windows_x64
|
||||||
|
mkdir windows_x64
|
||||||
|
cd windows_x64
|
||||||
|
|
||||||
|
echo Running CMake...
|
||||||
|
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_LIBRETRO_CORE=ON -DCMAKE_C_COMPILER:FILEPATH="%VCToolsInstallDir%\bin\HostX64\x64\cl.exe" -DCMAKE_CXX_COMPILER:FILEPATH="%VCToolsInstallDir%\bin\HostX64\x64\cl.exe" ..\..
|
||||||
|
|
||||||
|
echo Building...
|
||||||
|
ninja
|
||||||
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
|
echo Zipping...
|
||||||
|
"C:\Program Files\7-Zip\7z.exe" a ../duckstation_libretro_windows_x64.zip ./duckstation_libretro.dll
|
||||||
|
|
||||||
|
echo All done.
|
39
scripts/build_libretro_cores.sh
Executable file
39
scripts/build_libretro_cores.sh
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/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"
|
||||||
|
|
Loading…
Reference in a new issue