Files
UnrealEngine/Engine/Platforms/VisionOS/Build/InstalledEngineBuild.xml
2025-05-18 13:04:45 +08:00

99 lines
4.6 KiB
XML

<?xml version='1.0' ?>
<BuildGraph xmlns="http://www.epicgames.com/BuildGraph" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.epicgames.com/BuildGraph ../../../../Engine/Build/Graph/Schema.xsd" >
<Option Name="WithVisionOS" Restrict="true|false" DefaultValue="false" Description="Include the VisionOS target platform"/>
<Property Name="ExtensionPlatforms" Value="$(ExtensionPlatforms);" If="'$(ExtensionPlatforms)' != ''"/>
<Property Name="ExtensionPlatforms" Value="$(ExtensionPlatforms)VisionOS"/>
<Do If="$(WithVisionOS)">
<Expand Name="AddExtensionPlatform" PlatformDir="VisionOS"/>
</Do>
<Extend Name="Platform_FilterOverrides">
<Do If="$(WithVisionOS)">
<!-- Update CopyEditorEngineOrPlatformFilter, AutomationToolPaths, etc -->
<Property Name="AutomationToolPaths">
$(AutomationToolPaths)
Engine/Platforms/VisionOS/Source/Programs/AutomationTool/...
</Property>
</Do>
</Extend>
<Extend Name="Platform_Agent_Target_Mac_Licensee">
<Agent Name="Target VisionOS" Type="Mac_Licensee">
<Node Name="Compile UnrealGame VisionOS" Requires="Update Version Files" Produces="#UnrealGame VisionOS">
<ForEach Name="Target" Values="UnrealGame;$(OptionalClientTarget)">
<ForEach Name="Configuration" Values="$(GameConfigurations)">
<Compile Target="$(Target)" Platform="VisionOS" Configuration="$(Configuration)" Tag="#UnrealGame VisionOS" AllowParallelExecutor="$(bAllowParallelExecutor)" Arguments="-precompile -allmodules -nolink $(TargetDebugInfoArg) $(ExtraCompileArgs)"/>
<Compile Target="$(Target)" Platform="VisionOS" Configuration="$(Configuration)" Tag="#UnrealGame VisionOS" AllowParallelExecutor="$(bAllowParallelExecutor)" Arguments="-precompile $(TargetDebugInfoArg) $(ExtraCompileArgs)" Clean="false"/>
</ForEach>
</ForEach>
<!-- sharing IOS's strip filter since it's in a InstalledEngineFilters.xml, and we don't want to put VisionOS in there -->
<Tag Files="#UnrealGame VisionOS" Filter="$(IOSStripFilter)" With="#UnrealGame VisionOS Unstripped"/>
<Strip BaseDir="$(RootDir)" OutputDir="$(SavedOutput)" Platform="VisionOS" Files="#UnrealGame VisionOS Unstripped" Tag="#UnrealGame VisionOS Stripped"/>
</Node>
</Agent>
<Aggregate Name="TargetPlatforms_VisionOS" Label="Target Platforms/VisionOS" Requires="Compile UnrealGame VisionOS"/>
</Extend>
<!-- Adds to 'Installed Build Group Win64' -->
<!--
<Extend Name="Platform_AddInstalledRequirements">
<Do If="$(WithVisionOS)">
<Property Name="InstalledRequirements" Value="$(InstalledRequirements);#UnrealGame VisionOS"/>
</Do>
</Extend>
-->
<!-- Adds to 'Installed Build Group Mac' -->
<Extend Name="Platform_AddFilterRequirements">
<Do If="$(WithVisionOS)">
<Property Name="FilterRequirements" Value="$(FilterRequirements);#UnrealGame VisionOS"/>
</Do>
</Extend>
<Extend Name="Platform_Append_DDCPlatformsMac">
<Do If="$(WithVisionOS)">
<Property Name="DDCPlatformsMac" Value="$(DDCPlatformsMac)+VisionOS"/>
</Do>
</Extend>
<Extend Name="Platform_TagDDCFiles">
<Do If="$(WithVisionOS)">
<!-- Copy utilities/tools -->
<Tag Files="Engine\Binaries\DotNET\VisionOS\..." With="#ToCopy"/>
</Do>
</Extend>
<Extend Name="Platform_Tag_UnrealGame">
<Do If="$(WithVisionOS) And '$(HostPlatform)' == 'Mac'">
<Property Name="CopyVisionOSFilter">
<!-- Build Files -->
Engine/Build/VisionOS/...
Engine/Platforms/VisionOS/Binaries/...
Engine/Platforms/VisionOS/Build/...
Engine/Platforms/VisionOS/Content/Editor/...
Engine/Build/VisionOS/...
</Property>
<Property Name="CopyVisionOSExceptions">
</Property>
<Tag Files="#UnrealGame VisionOS" Except="#UnrealGame VisionOS Unstripped" With="#Installed Mac"/>
<Tag Files="#UnrealGame VisionOS Stripped" With="#Saved Output"/>
<Property Name="Platforms" Value="$(Platforms)VisionOS;"/>
<Property Name="CopyInstalledFilter" Value="$(CopyInstalledFilter);$(CopyVisionOSFilter)"/>
<Property Name="CopyInstalledExceptions" Value="$(CopyInstalledExceptions);$(CopyVisionOSExceptions)"/>
</Do>
<Do If="!$(WithVisionOS)">
<Property Name="CopyVisionOSCsToolsExceptions">
Engine\Saved\CsTools\Engine\Intermediate\ScriptModules\VisionOS.Automation.json
</Property>
<Property Name="CopyMacCsToolsExceptions" Value="$(CopyMacCsToolsExceptions);$(CopyVisionOSCsToolsExceptions)"/>
<Property Name="CopyWin64CsToolsExceptions" Value="$(CopyWin64CsToolsExceptions);$(CopyVisionOSCsToolsExceptions)"/>
<Property Name="CopyLinuxCsToolsExceptions" Value="$(CopyLinuxCsToolsExceptions);$(CopyVisionOSCsToolsExceptions)"/>
</Do>
</Extend>
</BuildGraph>