91 lines
2.7 KiB
PowerShell
91 lines
2.7 KiB
PowerShell
param(
|
|
# Parameter help description
|
|
[switch]
|
|
$buildproject,
|
|
[switch]
|
|
$cookproject,
|
|
[switch]
|
|
$updateproject,
|
|
[switch]
|
|
$updatecode,
|
|
[switch]
|
|
$genproject,
|
|
[switch]
|
|
$cleancode
|
|
)
|
|
|
|
$enginedir = "C:\epic\UE_5.6"
|
|
$builddir = ".\build"
|
|
if(!(Test-Path -Path $builddir)){
|
|
New-Item $builddir -ItemType "directory" -Force
|
|
}
|
|
$builddir = Resolve-Path $builddir
|
|
# $defaultmap = "0_TTG_Legacy.umap"
|
|
$projectfile = Get-ChildItem . -Filter "*.uproject"
|
|
$projectfilepath = Resolve-Path $projectfile
|
|
$projectname = (Get-Item $projectfilepath ).Basename
|
|
|
|
$f7z = "$env:ProgramFiles\7-Zip\7z.exe"
|
|
if(-not (Test-Path $f7z)){
|
|
throw "7z not found $f7z"
|
|
return
|
|
}
|
|
Set-Alias 7zip $f7z
|
|
|
|
|
|
function GenProj (){
|
|
Invoke-Expression "$enginedir\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe -projectfiles -project=$projectfilepath -game -rocket -progress -engine -VSCode"
|
|
}
|
|
function BuildProj() {
|
|
|
|
Invoke-Expression "$enginedir\Engine\Binaries\Win64\UnrealEditor-Cmd.exe $projectfilepath -run=cook -targetplatform=Windows -iterate -CookAll"
|
|
Invoke-Expression "$enginedir\Engine\Binaries\DotNET\AutomationTool\AutomationTool.exe -ScriptsForProject=$projectfilepath BuildCookRun -project=$projectfilepath -noP4 -clientconfig=Shipping -serverconfig=Shipping -nocompile -nocompileeditor -installed -ue4exe=$enginedir\Engine\Binaries\Win64\UnrealEditor-Cmd.exe -utf8output -platform=Win64 -build -skipcook -compressed -stage -deploy -stagingdirectory=$builddir"
|
|
}
|
|
function CookProj() {
|
|
Invoke-Expression "$enginedir\Engine\Binaries\Win64\UnrealEditor-Cmd.exe $projectfilepath -run=cook -targetplatform=Windows -iterate -CookAll"
|
|
}
|
|
function UpdateProj() {
|
|
|
|
Invoke-Expression "$enginedir\Engine\Binaries\Win64\UnrealEditor-Cmd.exe $projectfilepath -run=cook -targetplatform=Windows -iterate -CookAll"
|
|
Robocopy.exe .\Saved\Cooked $builddir /XO /S
|
|
}
|
|
function ConvertMapToWorldPartition {
|
|
param (
|
|
[string]
|
|
$map
|
|
)
|
|
Invoke-Expression "$enginedir\Engine\Binaries\Win64\UnrealEditor.exe $projectfilepath -run=WorldPartitionConvertCommandlet $map -AllowCommandletRendering"
|
|
}
|
|
function UpdateCodeOnlyProj() {
|
|
Robocopy.exe .\Binaries\Win64 "$builddir\Binaries\Win64" /XO /S "$projectname*.exe"
|
|
}
|
|
function CleanCode() {
|
|
$ls = Get-ChildItem .\Plugins
|
|
foreach ($item in $ls) {
|
|
Remove-Item ".\Plugins\$item\Intermediate" -Recurse
|
|
Remove-Item ".\Plugins\$item\Binaries\Win64" -Recurse
|
|
}
|
|
}
|
|
|
|
function ZipBuild(){
|
|
7zip a -r ".\zip\$projectname.7z" "$builddir\*" -mx=9 -v2000m
|
|
}
|
|
if($buildproject){
|
|
BuildProj
|
|
}
|
|
if($updateproject){
|
|
UpdateProj
|
|
}
|
|
if($updatecode){
|
|
UpdateCodeOnlyProj
|
|
}
|
|
if($cleancode){
|
|
CleanCode
|
|
}
|
|
if($cookproject){
|
|
CookProj
|
|
}
|
|
|
|
if($genproject){
|
|
GenProj
|
|
} |