summaryrefslogtreecommitdiffstats
path: root/tools/buildsteps/windows/bootstrap-addons.bat
diff options
context:
space:
mode:
Diffstat (limited to 'tools/buildsteps/windows/bootstrap-addons.bat')
-rw-r--r--tools/buildsteps/windows/bootstrap-addons.bat91
1 files changed, 91 insertions, 0 deletions
diff --git a/tools/buildsteps/windows/bootstrap-addons.bat b/tools/buildsteps/windows/bootstrap-addons.bat
new file mode 100644
index 0000000..cbd2b44
--- /dev/null
+++ b/tools/buildsteps/windows/bootstrap-addons.bat
@@ -0,0 +1,91 @@
+@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%