build_deps_windows: add option to to only create project files.
[blender.git] / build_files / build_environment / windows / build_deps.cmd
index 3e458816a5a205eb1edf492c4ac948a98248451a..bb9dda81435c7a4922906e64f28142c103221406 100644 (file)
@@ -14,10 +14,18 @@ if NOT "%1" == "" (
     set BuildDir=VS14
     goto par2
   )
     set BuildDir=VS14
     goto par2
   )
+       if "%1" == "2017" (
+    echo "Building for VS2017"
+    set VSVER=15.0
+    set VSVER_SHORT=15
+    set BuildDir=VS15
+    goto par2
+  )
+  
 )
 :usage
 
 )
 :usage
 
-Echo Usage build_deps 2013/2015 x64/x86
+Echo Usage build_deps 2013/2015/2017 x64/x86
 goto exit
 :par2
 if NOT "%2" == "" (
 goto exit
 :par2
 if NOT "%2" == "" (
@@ -31,6 +39,10 @@ if NOT "%2" == "" (
                if "%1" == "2015" (
                        set CMAKE_BUILDER=Visual Studio 14 2015
                )
                if "%1" == "2015" (
                        set CMAKE_BUILDER=Visual Studio 14 2015
                )
+               if "%1" == "2017" (
+                       set CMAKE_BUILDER=Visual Studio 15 2017
+               )
+               
     goto start
   )
        if "%2" == "x64" (
     goto start
   )
        if "%2" == "x64" (
@@ -43,6 +55,10 @@ if NOT "%2" == "" (
                if "%1" == "2015" (
                        set CMAKE_BUILDER=Visual Studio 14 2015 Win64
                )
                if "%1" == "2015" (
                        set CMAKE_BUILDER=Visual Studio 14 2015 Win64
                )
+               if "%1" == "2017" (
+                       set CMAKE_BUILDER=Visual Studio 15 2017 Win64
+               )
+               
     goto start
   )
 )
     goto start
   )
 )
@@ -52,9 +68,11 @@ goto usage
 setlocal ENABLEEXTENSIONS
 set CMAKE_DEBUG_OPTIONS=-DWITH_OPTIMIZED_DEBUG=On
 if "%3" == "debug" set CMAKE_DEBUG_OPTIONS=-DWITH_OPTIMIZED_DEBUG=Off
 setlocal ENABLEEXTENSIONS
 set CMAKE_DEBUG_OPTIONS=-DWITH_OPTIMIZED_DEBUG=On
 if "%3" == "debug" set CMAKE_DEBUG_OPTIONS=-DWITH_OPTIMIZED_DEBUG=Off
+set dobuild=1
+if "%4" == "nobuild" set dobuild=0
 
 set SOURCE_DIR=%~dp0\..
 
 set SOURCE_DIR=%~dp0\..
-set BUILD_DIR=%~dp0\..\..\..\..\build_windows\deps
+set BUILD_DIR=%cd%\build
 set HARVEST_DIR=%BUILD_DIR%\output
 set STAGING=%BUILD_DIR%\S
 
 set HARVEST_DIR=%BUILD_DIR%\output
 set STAGING=%BUILD_DIR%\S
 
@@ -62,7 +80,7 @@ rem for python module build
 set MSSdk=1 
 set DISTUTILS_USE_SDK=1  
 rem for python externals source to be shared between the various archs and compilers
 set MSSdk=1 
 set DISTUTILS_USE_SDK=1  
 rem for python externals source to be shared between the various archs and compilers
-mkdir %SOURCE_DIR%\downloads\externals
+mkdir %BUILD_DIR%\downloads\externals
 
 REM Detect MSVC Installation
 if DEFINED VisualStudioVersion goto msvc_detect_finally
 
 REM Detect MSVC Installation
 if DEFINED VisualStudioVersion goto msvc_detect_finally
@@ -95,26 +113,30 @@ if %ERRORLEVEL% NEQ 0 (
 )
 
 set StatusFile=%BUILD_DIR%\%1_%2.log
 )
 
 set StatusFile=%BUILD_DIR%\%1_%2.log
-set path=%SOURCE_DIR%\downloads\mingw\mingw64\msys\1.0\bin\;%SOURCE_DIR%\downloads\nasm-2.12.01\;%path%
+set path=%BUILD_DIR%\downloads\mingw\mingw64\msys\1.0\bin\;%BUILD_DIR%\downloads\nasm-2.12.01\;%path%
 mkdir %STAGING%\%BuildDir%%ARCH%R
 cd %Staging%\%BuildDir%%ARCH%R
 echo %DATE% %TIME% : Start > %StatusFile%
 mkdir %STAGING%\%BuildDir%%ARCH%R
 cd %Staging%\%BuildDir%%ARCH%R
 echo %DATE% %TIME% : Start > %StatusFile%
-cmake -G "%CMAKE_BUILDER%" %SOURCE_DIR% -DBUILD_MODE=Release -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/
+cmake -G "%CMAKE_BUILDER%" %SOURCE_DIR% -DDOWNLOAD_DIR=%BUILD_DIR%/downloads -DBUILD_MODE=Release -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/
 echo %DATE% %TIME% : Release Configuration done >> %StatusFile%
 echo %DATE% %TIME% : Release Configuration done >> %StatusFile%
-msbuild /m "ll.vcxproj" /p:Configuration=Release /fl /flp:logfile=BlenderDeps_llvm.log 
-msbuild /m "BlenderDependencies.sln" /p:Configuration=Release /fl /flp:logfile=BlenderDeps.log 
-echo %DATE% %TIME% : Release Build done >> %StatusFile%
-cmake --build . --target Harvest_Release_Results  > Harvest_Release.txt
+if "%dobuild%" == "1" (
+       msbuild /m "ll.vcxproj" /p:Configuration=Release /fl /flp:logfile=BlenderDeps_llvm.log;Verbosity=normal
+       msbuild /m "BlenderDependencies.sln" /p:Configuration=Release /fl /flp:logfile=BlenderDeps.log;Verbosity=minimal  /verbosity:minimal
+       echo %DATE% %TIME% : Release Build done >> %StatusFile%
+       cmake --build . --target Harvest_Release_Results  > Harvest_Release.txt
+)
 echo %DATE% %TIME% : Release Harvest done >> %StatusFile%
 cd %BUILD_DIR%
 mkdir %STAGING%\%BuildDir%%ARCH%D
 cd %Staging%\%BuildDir%%ARCH%D
 echo %DATE% %TIME% : Release Harvest done >> %StatusFile%
 cd %BUILD_DIR%
 mkdir %STAGING%\%BuildDir%%ARCH%D
 cd %Staging%\%BuildDir%%ARCH%D
-cmake -G "%CMAKE_BUILDER%" %SOURCE_DIR% -DCMAKE_BUILD_TYPE=Debug -DBUILD_MODE=Debug -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/  %CMAKE_DEBUG_OPTIONS%
+cmake -G "%CMAKE_BUILDER%" %SOURCE_DIR% -DDOWNLOAD_DIR=%BUILD_DIR%/downloads -DCMAKE_BUILD_TYPE=Debug -DBUILD_MODE=Debug -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/  %CMAKE_DEBUG_OPTIONS%
 echo %DATE% %TIME% : Debug Configuration done >> %StatusFile%
 echo %DATE% %TIME% : Debug Configuration done >> %StatusFile%
-msbuild /m "ll.vcxproj" /p:Configuration=Debug /fl /flp:logfile=BlenderDeps_llvm.log 
-msbuild /m "BlenderDependencies.sln" /p:Configuration=Debug /fl /flp:logfile=BlenderDeps.log
-echo %DATE% %TIME% : Debug Build done >> %StatusFile%
-cmake --build . --target Harvest_Debug_Results> Harvest_Debug.txt
+if "%dobuild%" == "1" (
+       msbuild /m "ll.vcxproj" /p:Configuration=Debug /fl /flp:logfile=BlenderDeps_llvm.log;;Verbosity=normal 
+       msbuild /m "BlenderDependencies.sln" /p:Configuration=Debug /verbosity:n /fl /flp:logfile=BlenderDeps.log;;Verbosity=normal
+       echo %DATE% %TIME% : Debug Build done >> %StatusFile%
+       cmake --build . --target Harvest_Debug_Results> Harvest_Debug.txt
+)
 echo %DATE% %TIME% : Debug Harvest done >> %StatusFile%
 cd %BUILD_DIR%
 
 echo %DATE% %TIME% : Debug Harvest done >> %StatusFile%
 cd %BUILD_DIR%