138 lines
9.2 KiB
XML
138 lines
9.2 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<Import Project="..\Shared\UnrealEngine.csproj.props" />
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<Configuration Condition=" '$(Configuration)' == '' ">Development</Configuration>
|
|
<OutputType>Exe</OutputType>
|
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
|
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
|
<GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
|
|
<Configurations>Debug;Release;Development;Analyze</Configurations>
|
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
|
<AssemblyName>UnrealBuildTool</AssemblyName>
|
|
<RootNamespace>UnrealBuildTool</RootNamespace>
|
|
<SatelliteResourceLanguages>en</SatelliteResourceLanguages> <!-- remove non english resource languages -->
|
|
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
|
<DebugType>pdbonly</DebugType>
|
|
<DebugType Condition="'$(IsWindows)' == 'true' And '$(IsArm64)' == 'true'">portable</DebugType>
|
|
<Nullable>enable</Nullable>
|
|
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
|
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Development|AnyCPU' ">
|
|
<Optimize>True</Optimize>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
<Optimize>True</Optimize>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<DebugType>full</DebugType>
|
|
<DebugType Condition="'$(IsWindows)' == 'true' And '$(IsArm64)' == 'true'">portable</DebugType>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Analyze|AnyCPU' ">
|
|
<RunAnalyzersDuringBuild>True</RunAnalyzersDuringBuild>
|
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Reference Include="Ionic.Zip.Reduced">
|
|
<HintPath>..\..\..\Binaries\DotNET\Ionic.Zip.Reduced.dll</HintPath>
|
|
</Reference>
|
|
</ItemGroup>
|
|
|
|
<Choose>
|
|
<When Condition="Exists('..\..\..\Restricted\NotForLicensees\Source\Programs\UnrealBuildTool\ProjectFiles\VProject\VProjectFileGenerator.cs')">
|
|
<PropertyGroup>
|
|
<DefineConstants>$(DefineConstants);__VPROJECT_AVAILABLE__</DefineConstants>
|
|
</PropertyGroup>
|
|
</When>
|
|
</Choose>
|
|
|
|
<ItemGroup>
|
|
<Compile Include="..\Shared\MetaData.cs">
|
|
<Link>Properties\MetaData.cs</Link>
|
|
</Compile>
|
|
</ItemGroup>
|
|
|
|
<!-- The following will glob all platform extensions' UnrealBuildTool source
|
|
files and include them in the build. They will also appear in VisualStudio.
|
|
RecursiveDir does not work in VS Mac (and maybe Linux?), so only use it in Windows.
|
|
See: https://developercommunity.visualstudio.com/content/problem/527478/recursivedir-causes-infinitely-nested-subdirectori.html -->
|
|
<ItemGroup>
|
|
<Compile Include="../../../Platforms/*/Source/Programs/UnrealBuildTool/**/*.cs">
|
|
<!-- Since RecursiveDir is bugged on VS Mac, we use the FullPath, and use Regex to pull out portions of the path to get Platform name -->
|
|
<Link>Platform/$([System.Text.RegularExpressions.Regex]::Replace(%(FullPath), '^(.*[\\/]Platforms[\\/])(.+?)[\\/](.*)$', '$2'))/%(Filename)%(Extension)</Link>
|
|
</Compile>
|
|
<Compile Include="../../../Restricted/*/Platforms/*/Source/Programs/UnrealBuildTool/**/*.cs">
|
|
<!-- Restricted may or may not be in a Platforms dir, so just use the subdir directly, even tho it makes for a
|
|
messier directory structure for these few files -->
|
|
<Link>Platform/$([System.Text.RegularExpressions.Regex]::Replace(%(FullPath), '^(.*[\\/]Platforms[\\/])(.+?)[\\/](.*)$', '$2'))/%(Filename)%(Extension)</Link>
|
|
</Compile>
|
|
<Compile Include="../../../Restricted/*/Source/Programs/UnrealBuildTool/**/*.cs">
|
|
<!-- Restricted may or may not be in a Platforms dir, so just use the subdir directly, even tho it makes for a
|
|
messier directory structure for these few files -->
|
|
<Link>$([System.Text.RegularExpressions.Regex]::Replace(%(FullPath), '^.+?[\\/]UnrealBuildTool[\\/]', ''))</Link>
|
|
</Compile>
|
|
|
|
<!-- SDK config files -->
|
|
<None Include="../../../Platforms/*/Config/*_SDK.json">
|
|
<!-- Since RecursiveDir is bugged on VS Mac, we use the FullPath, and use Regex to pull out portions of the path to get Platform name -->
|
|
<Link>Platform/$([System.Text.RegularExpressions.Regex]::Replace(%(FullPath), '^(.*[\\/]Platforms[\\/])(.+?)[\\/](.*)$', '$2'))/%(Filename)%(Extension)</Link>
|
|
</None>
|
|
<None Include="../../../Config/*/*_SDK.json">
|
|
<!-- Since RecursiveDir is bugged on VS Mac, we use the FullPath, and use Regex to pull out portions of the path to get Platform name -->
|
|
<Link>Platform/$([System.Text.RegularExpressions.Regex]::Replace(%(FullPath), '^(.*[\\/]Config[\\/])(.+?)[\\/](.*)$', '$2'))/%(Filename)%(Extension)</Link>
|
|
</None>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- If you add a project reference, BuildUAT.bat/.sh and BuildUBT.bat/.sh need to be updated to also test for those projects.-->
|
|
<ProjectReference Include="..\Shared\EpicGames.Build\EpicGames.Build.csproj" />
|
|
<ProjectReference Include="..\Shared\EpicGames.Core\EpicGames.Core.csproj" />
|
|
<ProjectReference Include="..\Shared\EpicGames.Horde\EpicGames.Horde.csproj" />
|
|
<ProjectReference Include="..\Shared\EpicGames.IoHash\EpicGames.IoHash.csproj" />
|
|
<ProjectReference Include="..\Shared\EpicGames.OIDC\EpicGames.OIDC.csproj" />
|
|
<ProjectReference Include="..\Shared\EpicGames.Serialization\EpicGames.Serialization.csproj" />
|
|
<ProjectReference Include="..\Shared\EpicGames.UBA\EpicGames.UBA.csproj" />
|
|
<ProjectReference Include="..\Shared\EpicGames.UHT\EpicGames.UHT.csproj" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" />
|
|
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.1" />
|
|
<PackageReference Include="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="3.11.2177" />
|
|
<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
|
|
<PackageReference Include="OpenTracing" Version="0.12.1" />
|
|
<PackageReference Include="System.CodeDom" Version="8.0.0" />
|
|
<PackageReference Include="System.Management" Version="8.0.0" />
|
|
<PackageReference Include="System.Security.Cryptography.Csp" Version="4.3.0" />
|
|
<PackageReference Include="System.ServiceProcess.ServiceController" Version="8.0.1" />
|
|
|
|
<!-- Required by Ionic -->
|
|
<PackageReference Include="System.Security.Permissions" Version="8.0.0" />
|
|
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
|
|
|
|
<!-- Added as a temporary workaround to running from visual studio where the system version of dotnet is run.
|
|
Adding a loader context resolves many of the issues, but it still fails when MSBuild tries to write the json -->
|
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
|
</ItemGroup>
|
|
|
|
<!-- Various batch files and shell scripts that build or run UnrealBuildTool -->
|
|
<ItemGroup>
|
|
<None Include="../../../Build/BatchFiles/**/*">
|
|
<Link>$([System.Text.RegularExpressions.Regex]::Replace(%(FullPath), '^.+?[\\/]BatchFiles[\\/]', 'BatchFiles/'))</Link>
|
|
</None>
|
|
</ItemGroup>
|
|
|
|
<!-- Various BuildConfiguration files -->
|
|
<ItemGroup>
|
|
<None Condition="Exists('..\..\..\Restricted\NotForLicensees\Programs\UnrealBuildTool\BuildConfiguration.xml')" Include="..\..\..\Restricted\NotForLicensees\Programs\UnrealBuildTool\BuildConfiguration.xml"><Link>BuildConfiguration\BuildConfiguration.xml (Engine NotForLicensees)</Link></None>
|
|
<None Condition="Exists('..\..\..\Saved\UnrealBuildTool\BuildConfiguration.xml')" Include="..\..\..\Saved\UnrealBuildTool\BuildConfiguration.xml"><Link>BuildConfiguration\BuildConfiguration.xml (Engine Saved)</Link></None>
|
|
<None Condition="Exists('$(ProgramData)\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml')" Include="$(ProgramData)\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml"><Link>BuildConfiguration\BuildConfiguration.xml (Global ProgramData)</Link></None>
|
|
<None Condition="Exists('$(AppData)\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml')" Include="$(AppData)\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml"><Link>BuildConfiguration\BuildConfiguration.xml (Global AppData)</Link></None>
|
|
<None Condition="Exists('$(LocalAppData)\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml')" Include="$(LocalAppData)\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml"><Link>BuildConfiguration\BuildConfiguration.xml (Global LocalAppData)</Link></None>
|
|
<None Condition="Exists('$(UserProfile)\Documents\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml')" Include="$(UserProfile)\Documents\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml"><Link>BuildConfiguration\BuildConfiguration.xml (Global Documents)</Link></None>
|
|
<None Condition="Exists('..\..\..\Intermediate\Build\UnrealBuildTool.Env.BuildConfiguration.xml')" Include="..\..\..\Intermediate\Build\UnrealBuildTool.Env.BuildConfiguration.xml"><Link>BuildConfiguration\BuildConfiguration.xml (Environment)</Link></None>
|
|
</ItemGroup>
|
|
</Project>
|