71 lines
1.5 KiB
Batchfile
71 lines
1.5 KiB
Batchfile
@echo off
|
|
REM VavCore Android Unit Tests Build Script (Windows)
|
|
REM This script builds the unit tests using Android NDK
|
|
|
|
setlocal enabledelayedexpansion
|
|
|
|
echo === VavCore Android Unit Tests Build ===
|
|
|
|
REM Configuration
|
|
set BUILD_TYPE=%1
|
|
if "%BUILD_TYPE%"=="" set BUILD_TYPE=Debug
|
|
|
|
set ABI=%2
|
|
if "%ABI%"=="" set ABI=arm64-v8a
|
|
|
|
set BUILD_DIR=build-%ABI%
|
|
|
|
echo Build type: %BUILD_TYPE%
|
|
echo ABI: %ABI%
|
|
echo Build directory: %BUILD_DIR%
|
|
|
|
REM Check if NDK is available
|
|
if "%ANDROID_NDK_HOME%"=="" (
|
|
if "%ANDROID_NDK_ROOT%"=="" (
|
|
echo Error: ANDROID_NDK_HOME or ANDROID_NDK_ROOT must be set
|
|
exit /b 1
|
|
)
|
|
set NDK_PATH=%ANDROID_NDK_ROOT%
|
|
) else (
|
|
set NDK_PATH=%ANDROID_NDK_HOME%
|
|
)
|
|
|
|
echo Using NDK: %NDK_PATH%
|
|
|
|
REM Create build directory
|
|
if not exist "%BUILD_DIR%" mkdir "%BUILD_DIR%"
|
|
cd "%BUILD_DIR%"
|
|
|
|
REM Configure with CMake
|
|
cmake .. ^
|
|
-DCMAKE_TOOLCHAIN_FILE="%NDK_PATH%/build/cmake/android.toolchain.cmake" ^
|
|
-DANDROID_ABI=%ABI% ^
|
|
-DANDROID_NATIVE_API_LEVEL=29 ^
|
|
-DCMAKE_BUILD_TYPE=%BUILD_TYPE% ^
|
|
-G "Ninja"
|
|
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo CMake configuration failed
|
|
exit /b %ERRORLEVEL%
|
|
)
|
|
|
|
REM Build
|
|
cmake --build . --config %BUILD_TYPE% -j 4
|
|
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo Build failed
|
|
exit /b %ERRORLEVEL%
|
|
)
|
|
|
|
cd ..
|
|
|
|
echo.
|
|
echo === Build Complete ===
|
|
echo Test executable: %BUILD_DIR%\VavCoreUnitTests
|
|
echo.
|
|
echo To run tests on device:
|
|
echo adb push %BUILD_DIR%\VavCoreUnitTests /data/local/tmp/
|
|
echo adb shell chmod +x /data/local/tmp/VavCoreUnitTests
|
|
echo adb shell /data/local/tmp/VavCoreUnitTests
|
|
|
|
endlocal |