Files
UnrealEngine/Engine/Build/BatchFiles/Mac/Build.sh
2025-05-18 13:04:45 +08:00

43 lines
1.4 KiB
Bash

#!/bin/sh
# Copyright Epic Games, Inc. All Rights Reserved.
# This script gets can be used to build and clean individual projects using UnrealBuildTool
cd "`dirname "$0"`/../../../.."
# Setup Environment for DotNET
source Engine/Build/BatchFiles/Mac/SetupEnvironment.sh -dotnet Engine/Build/BatchFiles/Mac
# Skip UBT and SCW compile step if this is an installed build.
if [ ! -f Engine/Build/InstalledBuild.txt ]; then
# use two for-loops here as -buildscw depends on UBT being built.
# So if -buildscw then -buildubt was passed it would fail/use out of date UBT
for i in "$@" ; do
# First make sure that the UnrealBuildTool is up-to-date
if [[ $i == "-buildubt" ]] ; then
if ! dotnet build Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj -c Development -v quiet; then
echo "Failed to build the build tool (UnrealBuildTool)"
exit 1
fi
fi
done
for i in "$@" ; do
# build SCW if specified
if [[ $i == "-buildscw" ]] ; then
echo Building ShaderCompileWorker...
dotnet Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll ShaderCompileWorker Mac Development
break
fi
done
fi
echo Running dotnet Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll "$@"
dotnet Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll "$@"
ExitCode=$?
if [ $ExitCode -eq 254 ] || [ $ExitCode -eq 255 ] || [ $ExitCode -eq 2 ]; then
exit 0
else
exit $ExitCode
fi