aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authormontellese <montellese@xbmc.org>2014-06-04 23:36:27 +0200
committerJonathan Marshall <jmarshall@xbmc.org>2014-07-10 19:18:04 +1200
commit3dc239a1615b943922aa2b28535f4786b286c437 (patch)
tree89bf8d095c9b9efcfdb64cf2311a5478a7be49f8 /tools
parentd376bb1a20f8cf055121e8efac672bb52a0b3be4 (diff)
[win32] add make-addon-depends.bat and cmake-based addon-depends system
Diffstat (limited to 'tools')
-rw-r--r--tools/buildsteps/win32/make-addon-depends.bat77
1 files changed, 77 insertions, 0 deletions
diff --git a/tools/buildsteps/win32/make-addon-depends.bat b/tools/buildsteps/win32/make-addon-depends.bat
new file mode 100644
index 0000000000..c9a3c0b5a5
--- /dev/null
+++ b/tools/buildsteps/win32/make-addon-depends.bat
@@ -0,0 +1,77 @@
+@ECHO OFF
+
+SETLOCAL
+
+SET EXITCODE=0
+
+rem set Visual C++ build environment
+call "%VS120COMNTOOLS%..\..\VC\bin\vcvars32.bat"
+
+SET WORKDIR=%WORKSPACE%
+
+IF "%WORKDIR%"=="" (
+ SET WORKDIR=%CD%\..\..\..
+)
+
+rem setup some paths that we need later
+SET CUR_PATH=%CD%
+
+SET BASE_PATH=%WORKDIR%\project\cmake\
+SET ADDONS_PATH=%BASE_PATH%\addons
+SET ADDONS_OUTPUT_PATH=%ADDONS_PATH%\output
+SET ADDON_DEPENDS_PATH=%ADDONS_PATH%\depends\win32
+SET ADDON_DEPENDS_BUILD_PATH=%ADDON_DEPENDS_PATH%\build
+
+SET ERRORFILE=%BASE_PATH%\make-addon-depends.error
+
+rem remove the output directory if it exists
+IF EXIST "%ADDONS_OUTPUT_PATH%" (
+ RMDIR "%ADDONS_OUTPUT_PATH%" /S /Q > NUL
+)
+
+rem create the output directory
+MKDIR "%ADDONS_OUTPUT_PATH%"
+
+rem go into the addon depends directory
+CD %ADDON_DEPENDS_PATH%
+
+rem remove the build directory if it exists
+IF EXIST "%ADDON_DEPENDS_BUILD_PATH%" (
+ RMDIR "%ADDON_DEPENDS_BUILD_PATH%" /S /Q > NUL
+)
+
+rem create the build directory
+MKDIR "%ADDON_DEPENDS_BUILD_PATH%"
+
+rem go into the build directory
+CD "%ADDON_DEPENDS_BUILD_PATH%"
+
+rem execute cmake to generate makefiles processable by nmake
+cmake "%ADDON_DEPENDS_PATH%" -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=%ADDONS_OUTPUT_PATH%
+IF ERRORLEVEL 1 (
+ ECHO cmake error level: %ERRORLEVEL% > %ERRORFILE%
+ GOTO ERROR
+)
+
+rem execute nmake to build the addon depends
+nmake
+IF ERRORLEVEL 1 (
+ ECHO nmake error level: %ERRORLEVEL% > %ERRORFILE%
+ GOTO ERROR
+)
+
+rem everything was fine
+GOTO END
+
+:ERROR
+rem something went wrong
+ECHO Failed to build addon dependencies
+ECHO See %ERRORFILE% for more details
+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%