-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathBuild.bat
More file actions
73 lines (52 loc) · 2.71 KB
/
Build.bat
File metadata and controls
73 lines (52 loc) · 2.71 KB
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
@echo off
setlocal
chcp 65001
rem -- 解析命令行参数 --
:parse
if "%1"=="" (
goto main
)
if "%1"=="--git-code" (
set git_code=%2
)
shift
goto parse
rem -- MAIN --
:main
:: call setEnv64.bat
:: %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
if exist "%programfiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" (
call "%programfiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
) else (
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
)
:: 检查是否存在 ..\..\..\dependencies\ue4-gitdeps 目录,存在则拷贝到 .git\ue4-gitdeps
:: for %%I in ("%~dp0\..") do set "build_dir=%%~fI"
:: echo build_dir=%build_dir%
if not exist "%~dp0\.git\ue4-gitdeps" (
echo Cloning ue4-gitdeps to .git directory...
echo git_code=%git_code%
git clone https://OpenHUTB:%git_code%@git.code.tencent.com/OpenHUTB/ue4-gitdeps.git .git\ue4-gitdeps && cd .git\ue4-gitdeps && git lfs pull
echo Clone engine dependencies complete.
cd ..\..
)
:: pause
:: exit /b 0
:: 使用 --force 选项来跳过: Checking dependencies... overwrite your changes (y/n)
call Setup.bat --force
call GenerateProjectFiles.bat
:: %ProgramFiles(x86)%=C:\Program Files (x86)
:: %ProgramW6432%=C:\Program Files
:: 没有构建 UE4Editor.exe
:: call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\MSBuild.exe" Engine\Intermediate\ProjectFiles\UE4.vcxproj
:: 注意:双引号必须且只能将包含空格的目录
if exist "%programfiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" (
echo "%ProgramFiles%\Microsoft Visual Studio\2022\Community\MSBuild\Current\bin\MSBuild.exe" UE4.sln /p:Configuration="Development Editor" /p:Platform="Win64" /p:Project="UnrealBuildTool" /p:OutputPath=.\
call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\MSBuild\Current\bin\MSBuild.exe" UE4.sln /p:Configuration="Development Editor" /p:Platform="Win64" /p:Project="UnrealBuildTool" /p:OutputPath=.\
) else (
echo call "%ProgramFiles%\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\MSBuild.exe" UE4.sln /p:Configuration="Development Editor" /p:Platform="Win64" /p:Project="UnrealBuildTool" /p:OutputPath=.\
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\MSBuild.exe" UE4.sln /p:Configuration="Development Editor" /p:Platform="Win64" /p:Project="UnrealBuildTool" /p:OutputPath=.\
)
:: TODO 判断 Build/engine/Engine/Binaries/Win64/ShaderCompileWorker.exe 是否存在来检查是否编译成功
echo Build success!
:: .\Engine\Binaries\Win64\UE4Editor.exe