Files
video-v1/vav2/platforms/android/tests/unit-tests/build.sh
2025-09-30 19:54:29 +09:00

50 lines
1.3 KiB
Bash

#!/bin/bash
# VavCore Android Unit Tests Build Script
# This script builds the unit tests using Android NDK
set -e
echo "=== VavCore Android Unit Tests Build ==="
# Configuration
BUILD_TYPE=${1:-Debug}
ABI=${2:-arm64-v8a}
BUILD_DIR="build-${ABI}"
echo "Build type: ${BUILD_TYPE}"
echo "ABI: ${ABI}"
echo "Build directory: ${BUILD_DIR}"
# Check if NDK is available
if [ -z "$ANDROID_NDK_HOME" ] && [ -z "$ANDROID_NDK_ROOT" ]; then
echo "Error: ANDROID_NDK_HOME or ANDROID_NDK_ROOT must be set"
exit 1
fi
NDK_PATH="${ANDROID_NDK_HOME:-$ANDROID_NDK_ROOT}"
echo "Using NDK: ${NDK_PATH}"
# Create build directory
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
# 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"
# Build
cmake --build . --config "${BUILD_TYPE}" -j$(nproc 2>/dev/null || echo 4)
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"