96 lines
2.2 KiB
Batchfile
96 lines
2.2 KiB
Batchfile
@ECHO OFF
|
|
|
|
:: don't modify the caller's environment
|
|
SETLOCAL
|
|
|
|
:: enable command extensions
|
|
VERIFY BADVALUE 2>NUL
|
|
SETLOCAL ENABLEEXTENSIONS
|
|
IF ERRORLEVEL 1 ECHO Unable to enable command extensions.
|
|
|
|
:: load configuration
|
|
PUSHD %~dp0
|
|
IF NOT EXIST .\wincfg.cmd GOTO nocfg
|
|
CALL .\wincfg.cmd
|
|
SET OPENCV_BUILD_DIR="%cd%"\..\%BUILD_DIR%
|
|
POPD
|
|
|
|
:: path to project root
|
|
SET SOURCE_DIR="%cd%"
|
|
|
|
:: create build dir
|
|
::rmdir /S /Q %BUILD_DIR% &:: uncomment this line to rebuild instead of build
|
|
MKDIR %BUILD_DIR% 2>NUL
|
|
PUSHD %BUILD_DIR%
|
|
|
|
:: run cmake
|
|
ECHO.
|
|
ECHO Runnning cmake...
|
|
ECHO ARM_TARGET=%ARM_TARGET%
|
|
ECHO.
|
|
IF NOT EXIST %SOURCE_DIR%\CMakeCache.android.initial.cmake GOTO other-cmake
|
|
:opencv-cmake
|
|
%CMAKE_EXE% -G"MinGW Makefiles" -DARM_TARGET="%ARM_TARGET%" -C %SOURCE_DIR%\CMakeCache.android.initial.cmake -DCMAKE_TOOLCHAIN_FILE=%SOURCE_DIR%\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%MAKE_EXE%" %SOURCE_DIR%\..
|
|
IF ERRORLEVEL 1 GOTO cmakefails
|
|
GOTO cmakefin
|
|
:other-cmake
|
|
%CMAKE_EXE% -G"MinGW Makefiles" -DARM_TARGET="%ARM_TARGET%" -DOpenCV_DIR=%OPENCV_BUILD_DIR% -DCMAKE_PROGRAM_PATH=%SWIG_DIR% -DCMAKE_TOOLCHAIN_FILE=%OPENCV_BUILD_DIR%\..\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%MAKE_EXE%" %SOURCE_DIR%
|
|
IF ERRORLEVEL 1 GOTO cmakefails
|
|
GOTO cmakefin
|
|
:cmakefin
|
|
|
|
:: run make
|
|
ECHO.
|
|
ECHO Building native libs...
|
|
%MAKE_EXE% -j %NUMBER_OF_PROCESSORS% &:: VERBOSE=1
|
|
IF ERRORLEVEL 1 GOTO makefail
|
|
|
|
IF NOT EXIST ..\jni GOTO fin
|
|
|
|
:: configure java part
|
|
POPD
|
|
PUSHD .
|
|
ECHO.
|
|
ECHO Updating Android project...
|
|
CALL %ANDROID_SDK%\tools\android update project --name %PROJECT_NAME% --path .
|
|
IF ERRORLEVEL 1 GOTO androidfail
|
|
|
|
:: compile java part
|
|
ECHO.
|
|
ECHO Compiling Android project...
|
|
CALL %ANT_DIR%\bin\ant compile
|
|
IF ERRORLEVEL 1 GOTO antfail
|
|
|
|
GOTO fin
|
|
|
|
:nocfg
|
|
ECHO.
|
|
ECHO Could not find wincfg.cmd file.
|
|
ECHO.
|
|
ECHO You should create opencv\android\scripts\wincfg.cmd
|
|
ECHO from template opencv\android\scripts\wincfg.cmd.tmpl
|
|
GOTO fin
|
|
|
|
:antfail
|
|
ECHO.
|
|
ECHO failed to compile android project
|
|
GOTO fin
|
|
|
|
:androidfail
|
|
ECHO.
|
|
ECHO failed to update android project
|
|
GOTO fin
|
|
|
|
:makefail
|
|
ECHO.
|
|
ECHO make failed
|
|
GOTO fin
|
|
|
|
:cmakefail
|
|
ECHO.
|
|
ECHO cmake failed
|
|
GOTO fin
|
|
|
|
:fin
|
|
POPD
|
|
ENDLOCAL |