UI: Remove extra padding on Annotate tool settings
[blender.git] / build_files / build_environment / windows / build_deps.cmd
1 @echo off
2 if NOT "%1" == "" (
3         if "%1" == "2013" (
4     echo "Building for VS2013"
5     set VSVER=12.0
6     set VSVER_SHORT=12
7     set BuildDir=VS12
8     goto par2
9   )
10         if "%1" == "2015" (
11     echo "Building for VS2015"
12     set VSVER=14.0
13     set VSVER_SHORT=14
14     set BuildDir=VS14
15     goto par2
16   )
17         if "%1" == "2017" (
18     echo "Building for VS2017"
19     set VSVER=15.0
20     set VSVER_SHORT=15
21     set BuildDir=VS15
22     goto par2
23   )
24   
25 )
26 :usage
27
28 Echo Usage build_deps 2013/2015/2017 x64/x86
29 goto exit
30 :par2
31 if NOT "%2" == "" (
32         if "%2" == "x86" (
33     echo "Building for x86"
34     set HARVESTROOT=Windows_vc
35     set ARCH=86
36                 if "%1" == "2013" (
37                         set CMAKE_BUILDER=Visual Studio 12 2013
38                 )
39                 if "%1" == "2015" (
40                         set CMAKE_BUILDER=Visual Studio 14 2015
41                 )
42                 if "%1" == "2017" (
43                         set CMAKE_BUILDER=Visual Studio 15 2017
44                 )
45                 
46     goto start
47   )
48         if "%2" == "x64" (
49     echo "Building for x64"
50     set HARVESTROOT=Win64_vc
51     set ARCH=64
52                 if "%1" == "2013" (
53                         set CMAKE_BUILDER=Visual Studio 12 2013 Win64
54                 )
55                 if "%1" == "2015" (
56                         set CMAKE_BUILDER=Visual Studio 14 2015 Win64
57                 )
58                 if "%1" == "2017" (
59                         set CMAKE_BUILDER=Visual Studio 15 2017 Win64
60                 )
61                 
62     goto start
63   )
64 )
65 goto usage
66
67 :start
68 setlocal ENABLEEXTENSIONS
69 set CMAKE_DEBUG_OPTIONS=-DWITH_OPTIMIZED_DEBUG=On
70 if "%3" == "debug" set CMAKE_DEBUG_OPTIONS=-DWITH_OPTIMIZED_DEBUG=Off
71 set dobuild=1
72 if "%4" == "nobuild" set dobuild=0
73
74 set SOURCE_DIR=%~dp0\..
75 set BUILD_DIR=%cd%\build
76 set HARVEST_DIR=%BUILD_DIR%\output
77 set STAGING=%BUILD_DIR%\S
78
79 rem for python module build
80 set MSSdk=1 
81 set DISTUTILS_USE_SDK=1  
82 rem for python externals source to be shared between the various archs and compilers
83 mkdir %BUILD_DIR%\downloads\externals
84
85 REM Detect MSVC Installation
86 if DEFINED VisualStudioVersion goto msvc_detect_finally
87 set VALUE_NAME=ProductDir
88 REM Check 64 bits
89 set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\%VSVER%\Setup\VC"
90 for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO set MSVC_VC_DIR=%%C
91 if DEFINED MSVC_VC_DIR goto msvc_detect_finally
92 REM Check 32 bits
93 set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\%VSVER%\Setup\VC"
94 for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO set MSVC_VC_DIR=%%C
95 if DEFINED MSVC_VC_DIR goto msvc_detect_finally
96 :msvc_detect_finally
97 if DEFINED MSVC_VC_DIR call "%MSVC_VC_DIR%\vcvarsall.bat"
98 echo on
99
100 REM Sanity Checks
101 where /Q msbuild
102 if %ERRORLEVEL% NEQ 0 (
103         echo Error: "MSBuild" command not in the PATH.
104         echo You must have MSVC installed and run this from the "Developer Command Prompt"
105         echo ^(available from Visual Studio's Start menu entry^), aborting!
106         goto EOF
107 )
108 where /Q cmake
109 if %ERRORLEVEL% NEQ 0 (
110         echo Error: "CMake" command not in the PATH.
111         echo You must have CMake installed and added to your PATH, aborting!
112         goto EOF
113 )
114
115 set StatusFile=%BUILD_DIR%\%1_%2.log
116 set path=%BUILD_DIR%\downloads\mingw\mingw64\msys\1.0\bin\;%BUILD_DIR%\downloads\nasm-2.12.01\;%path%
117 mkdir %STAGING%\%BuildDir%%ARCH%R
118 cd %Staging%\%BuildDir%%ARCH%R
119 echo %DATE% %TIME% : Start > %StatusFile%
120 cmake -G "%CMAKE_BUILDER%" -Thost=x64  %SOURCE_DIR% -DPACKAGE_DIR=%BUILD_DIR%/packages -DDOWNLOAD_DIR=%BUILD_DIR%/downloads -DBUILD_MODE=Release -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/
121 echo %DATE% %TIME% : Release Configuration done >> %StatusFile%
122 if "%dobuild%" == "1" (
123         msbuild /m "ll.vcxproj" /p:Configuration=Release /fl /flp:logfile=BlenderDeps_llvm.log;Verbosity=normal
124         msbuild /m "BlenderDependencies.sln" /p:Configuration=Release /fl /flp:logfile=BlenderDeps.log;Verbosity=minimal  /verbosity:minimal
125         echo %DATE% %TIME% : Release Build done >> %StatusFile%
126         cmake --build . --target Harvest_Release_Results  > Harvest_Release.txt
127 )
128 echo %DATE% %TIME% : Release Harvest done >> %StatusFile%
129 if "%NODEBUG%" == "1" goto exit
130 cd %BUILD_DIR%
131 mkdir %STAGING%\%BuildDir%%ARCH%D
132 cd %Staging%\%BuildDir%%ARCH%D
133 cmake -G "%CMAKE_BUILDER%" -Thost=x64 %SOURCE_DIR% -DPACKAGE_DIR=%BUILD_DIR%/packages -DDOWNLOAD_DIR=%BUILD_DIR%/downloads -DCMAKE_BUILD_TYPE=Debug -DBUILD_MODE=Debug -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/  %CMAKE_DEBUG_OPTIONS%
134 echo %DATE% %TIME% : Debug Configuration done >> %StatusFile%
135 if "%dobuild%" == "1" (
136         msbuild /m "ll.vcxproj" /p:Configuration=Debug /fl /flp:logfile=BlenderDeps_llvm.log;;Verbosity=normal 
137         msbuild /m "BlenderDependencies.sln" /p:Configuration=Debug /verbosity:n /fl /flp:logfile=BlenderDeps.log;;Verbosity=normal
138         echo %DATE% %TIME% : Debug Build done >> %StatusFile%
139         cmake --build . --target Harvest_Debug_Results> Harvest_Debug.txt
140 )
141 echo %DATE% %TIME% : Debug Harvest done >> %StatusFile%
142 cd %BUILD_DIR%
143
144 :exit
145 Echo .