@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