-
-
Notifications
You must be signed in to change notification settings - Fork 188
/
Copy pathmake.bat
146 lines (120 loc) · 4.08 KB
/
make.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
@echo off
REM This batch file does an out-of-source CMake build in ../build_windows
REM This is for users who like to configure & build Blender with a single command.
setlocal EnableDelayedExpansion
setlocal ENABLEEXTENSIONS
set BLENDER_DIR=%~dp0
call "%BLENDER_DIR%\build_files\windows\reset_variables.cmd"
call "%BLENDER_DIR%\build_files\windows\check_spaces_in_path.cmd"
if errorlevel 1 goto EOF
call "%BLENDER_DIR%\build_files\windows\parse_arguments.cmd" %*
if errorlevel 1 goto EOF
call "%BLENDER_DIR%\build_files\windows\find_dependencies.cmd"
if errorlevel 1 goto EOF
REM if it is one of the convenience targets and BLENDER_BIN is set
REM skip compiler detection
if "%ICONS%%ICONS_GEOM%%DOC_PY%" == "1" (
if EXIST "%BLENDER_BIN%" (
goto convenience_targets
)
)
if "%BUILD_SHOW_HASHES%" == "1" (
call "%BLENDER_DIR%\build_files\windows\show_hashes.cmd"
goto EOF
)
if "%SHOW_HELP%" == "1" (
call "%BLENDER_DIR%\build_files\windows\show_help.cmd"
goto EOF
)
if "%FORMAT%" == "1" (
call "%BLENDER_DIR%\build_files\windows\format.cmd"
goto EOF
)
if "%LICENSE%" == "1" (
call "%BLENDER_DIR%\build_files\windows\license.cmd"
goto EOF
)
call "%BLENDER_DIR%\build_files\windows\detect_architecture.cmd"
if errorlevel 1 goto EOF
REM Enforce the default compiler to be clang on ARM64
if "%BUILD_ARCH%" == "arm64" (
if not "%WITH_CLANG%" == "1" (
if "%WITH_MSVC%" == "1" (
echo WARNING, MSVC compilation on Windows ARM64 is unsupported, and errors may occur.
) else (
echo Windows ARM64 builds with clang by default, enabling. If you wish to use MSVC ^(unsupported^), please use the msvc switch.
set WITH_CLANG=1
)
)
)
if "%BUILD_VS_YEAR%" == "" (
call "%BLENDER_DIR%\build_files\windows\autodetect_msvc.cmd"
if errorlevel 1 (
echo Visual Studio not found ^(try with the 'verbose' switch for more information^)
goto EOF
)
) else (
call "%BLENDER_DIR%\build_files\windows\detect_msvc%BUILD_VS_YEAR%.cmd"
if errorlevel 1 (
echo Visual Studio %BUILD_VS_YEAR% not found ^(try with the 'verbose' switch for more information^)
goto EOF
)
)
if "%BUILD_UPDATE%" == "1" (
REM First see if the SVN libs are there and check them out if they are not.
call "%BLENDER_DIR%\build_files\windows\check_libraries.cmd"
if errorlevel 1 goto EOF
if "%BUILD_UPDATE_SVN%" == "1" (
REM Then update SVN platform libraries, since updating python while python is
REM running tends to be problematic. The python script that update_sources
REM calls later on may still try to switch branches and run into trouble,
REM but for *most* people this will side step the problem.
call "%BLENDER_DIR%\build_files\windows\lib_update.cmd"
)
REM Finally call the python script shared between all platforms that updates git
REM and does any other SVN work like update the tests or branch switches
REM if required.
call "%BLENDER_DIR%\build_files\windows\update_sources.cmd"
goto EOF
)
call "%BLENDER_DIR%\build_files\windows\set_build_dir.cmd"
:convenience_targets
if "%ICONS_GEOM%" == "1" (
call "%BLENDER_DIR%\build_files\windows\icons_geom.cmd"
goto EOF
)
if "%DOC_PY%" == "1" (
call "%BLENDER_DIR%\build_files\windows\doc_py.cmd"
goto EOF
)
if "%CMAKE%" == "" (
echo Cmake not found in path, required for building, exiting...
exit /b 1
)
if "%WITH_CLANG%" == "1" (
call "%BLENDER_DIR%\build_files\windows\find_llvm.cmd"
if errorlevel 1 (
echo LLVM/Clang not found ^(try with the 'verbose' switch for more information^)
goto EOF
)
)
echo Building blender with VS%BUILD_VS_YEAR% for %BUILD_ARCH% in %BUILD_DIR%
call "%BLENDER_DIR%\build_files\windows\check_libraries.cmd"
if errorlevel 1 goto EOF
if "%TEST%" == "1" (
call "%BLENDER_DIR%\build_files\windows\test.cmd"
goto EOF
)
if "%BUILD_WITH_NINJA%" == "" (
call "%BLENDER_DIR%\build_files\windows\configure_msbuild.cmd"
if errorlevel 1 goto EOF
call "%BLENDER_DIR%\build_files\windows\build_msbuild.cmd"
if errorlevel 1 goto EOF
) else (
call "%BLENDER_DIR%\build_files\windows\configure_ninja.cmd"
if errorlevel 1 goto EOF
call "%BLENDER_DIR%\build_files\windows\build_ninja.cmd"
if errorlevel 1 goto EOF
)
:EOF
if errorlevel 1 exit /b %errorlevel%