@ECHO OFF SETLOCAL SET EXITCODE=0 SET clean=false if "%1" == "clean" ( SET clean=true ) ELSE ( IF "%1" NEQ "" ( SET REPOSITORY=%1 IF "%2" NEQ "" ( SET REPOSITORY_REVISION=%2 ) ) ) PUSHD %~dp0\..\..\.. SET WORKDIR=%CD% POPD rem setup some paths that we need later SET CUR_PATH=%CD% SET BASE_PATH=%WORKDIR%\cmake SET ADDONS_PATH=%BASE_PATH%\addons SET ADDONS_BOOTSTRAP_PATH=%ADDONS_PATH%\bootstrap SET BOOTSTRAP_BUILD_PATH=%ADDONS_PATH%\build\bootstrap SET ADDONS_DEFINITION_PATH=%ADDONS_PATH%\addons IF %clean% == true ( rem remove the build directory if it exists IF EXIST "%BOOTSTRAP_BUILD_PATH%" ( ECHO Cleaning build directory... RMDIR "%BOOTSTRAP_BUILD_PATH%" /S /Q > NUL ) rem clean the addons definition path if it exists IF EXIST "%ADDONS_DEFINITION_PATH%" ( ECHO Cleaning bootstrapped addons... RMDIR "%ADDONS_DEFINITION_PATH%" /S /Q > NUL ) GOTO END ) rem create the build directory IF NOT EXIST "%BOOTSTRAP_BUILD_PATH%" MKDIR "%BOOTSTRAP_BUILD_PATH%" rem create the addons definition directory IF NOT EXIST "%ADDONS_DEFINITION_PATH%" MKDIR "%ADDONS_DEFINITION_PATH%" rem go into the build directory CD "%BOOTSTRAP_BUILD_PATH%" ECHO -------------------------------------------------- ECHO Bootstrapping addons ECHO -------------------------------------------------- rem execute cmake to generate makefiles processable by nmake cmake "%ADDONS_BOOTSTRAP_PATH%" -G "NMake Makefiles" ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_PREFIX=%ADDONS_DEFINITION_PATH% ^ -DBUILD_DIR=%BOOTSTRAP_BUILD_PATH% ^ -DREPOSITORY_TO_BUILD="%REPOSITORY%" ^ -DREPOSITORY_REVISION="%REPOSITORY_REVISION%" IF ERRORLEVEL 1 ( ECHO cmake error level: %ERRORLEVEL% GOTO ERROR ) rem execute nmake to prepare the buildsystem nmake IF ERRORLEVEL 1 ( ECHO nmake failed with error level: %ERRORLEVEL% ) rem everything was fine GOTO END :ERROR rem something went wrong ECHO Failed to bootstrap addons SET EXITCODE=1 :END rem go back to the original directory cd %CUR_PATH% rem exit the script with the defined exitcode EXIT /B %EXITCODE%