Files
UnrealEngineUWP/Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj
Ben Marsh f9192f643c Disable static analysis for C# projects during build.
#preflight 626c3cbeb046e6ecc32b0b0b

[CL 19984219 by Ben Marsh in ue5-main branch]
2022-04-29 15:50:26 -04:00

129 lines
7.5 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\Shared\UnrealEngine.csproj.props" />
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Configuration Condition=" '$(Configuration)' == '' ">Development</Configuration>
<OutputType>Exe</OutputType>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
<Configurations>Debug;Release;Development</Configurations>
<ApplicationManifest>app.manifest</ApplicationManifest>
<AssemblyName>UnrealBuildTool</AssemblyName>
<RootNamespace>UnrealBuildTool</RootNamespace>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages> <!-- remove non english resource languages -->
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
<DebugType>pdbonly</DebugType>
<Nullable>enable</Nullable>
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Development|AnyCPU' ">
<Optimize>false</Optimize>
<OutputPath>..\..\..\Binaries\DotNET\UnrealBuildTool</OutputPath>
<DocumentationFile>..\..\..\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>false</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<Prefer32Bit>false</Prefer32Bit>
<OutputPath>..\..\..\Binaries\DotNET\UnrealBuildTool</OutputPath>
<DocumentationFile>..\..\..\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>..\..\..\Binaries\DotNET\UnrealBuildTool</OutputPath>
<DocumentationFile>..\..\..\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.xml</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
</PropertyGroup>
<ItemGroup>
<Reference Include="Ionic.Zip.Reduced">
<HintPath>..\..\..\Binaries\DotNET\Ionic.Zip.Reduced.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.Setup.Configuration.Interop">
<HintPath>..\..\..\Binaries\ThirdParty\VisualStudio\Microsoft.VisualStudio.Setup.Configuration.Interop.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
</ItemGroup>
<Choose>
<When Condition="Exists('..\..\..\Restricted\NotForLicensees\Source\Programs\UnrealBuildTool\Executors\FASTBuild.cs')">
<PropertyGroup>
<DefineConstants>$(DefineConstants);__FASTBUILD_AVAILABLE__</DefineConstants>
</PropertyGroup>
</When>
</Choose>
<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>
</ItemGroup>
<ItemGroup>
<!-- If you add a project reference, BuildUAT.bat/.sh need to be updated to also test for those projects.
While similar checks are in RunUBT.bat/.sh and GenerateProjectFiles.bat, they don't currently check for these projects. -->
<ProjectReference Include="..\Shared\EpicGames.Build\EpicGames.Build.csproj" />
<ProjectReference Include="..\Shared\EpicGames.Core\EpicGames.Core.csproj" />
<ProjectReference Include="..\Shared\EpicGames.IoHash\EpicGames.IoHash.csproj" />
<ProjectReference Include="..\Shared\EpicGames.Serialization\EpicGames.Serialization.csproj" />
<ProjectReference Include="..\Shared\EpicGames.UHT\EpicGames.UHT.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="3.11.0" />
<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
<PackageReference Include="OpenTracing" Version="0.12.1" />
<PackageReference Include="System.Management" Version="4.7.0" />
<PackageReference Include="System.Security.Cryptography.Csp" Version="4.3.0" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="4.7.0" />
<!-- Required by Ionic -->
<PackageReference Include="System.Security.Permissions" Version="4.7.0" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.7.1" />
<!-- Required for Hololens -->
<PackageReference Include="System.Reflection.MetadataLoadContext" Version="4.7.2" />
<!-- Required for EpicGames.MsBuild -->
<PackageReference Include="Microsoft.Build" Version="17.1.0" ExcludeAssets="runtime" PrivateAssets="all" />
<PackageReference Include="Microsoft.Build.Locator" Version="1.4.1" PrivateAssets="all" />
<!-- 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.1" />
</ItemGroup>
</Project>