Files
UnrealEngineUWP/Engine/Build/BatchFiles/Mac/XcodeBuild.sh
Marc Audy ab108c215e Copying to Dev-Main @ CL# 4688301
#rb
#rnx

[CL 4688816 by Marc Audy in Main branch]
2019-01-08 11:38:48 -05:00

113 lines
2.7 KiB
Bash
Executable File

#!/bin/sh
# This script gets called every time Xcode does a build or clean operation, even though it's called "Build.sh".
# Values for $ACTION: "" = building, "clean" = cleaning
# Setup Mono
source Engine/Build/BatchFiles/Mac/SetupMono.sh Engine/Build/BatchFiles/Mac
# override env if action is specified on command line
if [ $1 == "clean" ]
then
ACTION="clean"
fi
case $ACTION in
"")
echo Building $1...
Platform=""
AdditionalFlags=""
case $CLANG_STATIC_ANALYZER_MODE in
"deep")
AdditionalFlags+="-SkipActionHistory"
;;
"shallow")
AdditionalFlags+="-SkipActionHistory"
;;
esac
case $ENABLE_THREAD_SANITIZER in
"YES"|"1")
# Disable TSAN atomic->non-atomic race reporting as we aren't C++11 memory-model conformant so UHT will fail
export TSAN_OPTIONS="suppress_equal_stacks=true suppress_equal_addresses=true report_atomic_races=false"
;;
esac
case $2 in
"iphoneos"|"IOS")
Platform="IOS"
AdditionalFlags+=" -deploy "
;;
"appletvos")
Platform="TVOS"
AdditionalFlags+=" -deploy "
;;
"iphonesimulator")
Platform="IOS"
AdditionalFlags+=" -deploy -simulator"
;;
"macosx")
Platform="Mac"
;;
"HTML5")
Platform="HTML5"
;;
*)
Platform="$2"
AdditionalFlags+=" -deploy "
;;
esac
BuildTasks=$(defaults read com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks)
export NumUBTBuildTasks=$BuildTasks
if [ "$4" == "-buildscw" ] || [ "$5" == "-buildscw" ]; then
echo Building ShaderCompileWorker...
mono Engine/Binaries/DotNET/UnrealBuildTool.exe ShaderCompileWorker Mac Development
fi
echo Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe $1 $Platform $3 $AdditionalFlags "${@:4}"
mono Engine/Binaries/DotNET/UnrealBuildTool.exe $1 $Platform $3 $AdditionalFlags "${@:4}"
;;
"clean")
echo "Cleaning $2 $3 $4..."
Platform=""
AdditionalFlags="-clean"
case $3 in
"iphoneos"|"IOS")
Platform="IOS"
AdditionalFlags+=" "
;;
"iphonesimulator")
Platform="IOS"
AdditionalFlags+=" -simulator"
AdditionalFlags+=" "
;;
"macosx")
Platform="Mac"
;;
"HTML5")
Platform="HTML5"
;;
*)
Platform="$3"
;;
esac
echo Running command: mono Engine/Binaries/DotNET/UnrealBuildTool.exe $2 $Platform $4 $AdditionalFlags "${@:5}"
mono Engine/Binaries/DotNET/UnrealBuildTool.exe $2 $Platform $4 $AdditionalFlags "${@:5}"
;;
esac
ExitCode=$?
if [ $ExitCode -eq 254 ] || [ $ExitCode -eq 255 ] || [ $ExitCode -eq 2 ]; then
exit 0
else
exit $ExitCode
fi