/ src / Ryujinx.Headless.SDL2 / Ryujinx.Headless.SDL2.csproj
Ryujinx.Headless.SDL2.csproj
 1  <Project Sdk="Microsoft.NET.Sdk">
 2  
 3    <PropertyGroup>
 4      <TargetFramework>net8.0</TargetFramework>
 5      <RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
 6      <OutputType>Exe</OutputType>
 7      <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
 8      <Version>1.0.0-dirty</Version>
 9      <DefineConstants Condition=" '$(ExtraDefineConstants)' != '' ">$(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
10      <SigningCertificate Condition=" '$(SigningCertificate)' == '' ">-</SigningCertificate>
11      <TieredPGO>true</TieredPGO>
12    </PropertyGroup>
13  
14    <ItemGroup>
15      <PackageReference Include="OpenTK.Core" />
16      <PackageReference Include="Ryujinx.Graphics.Nvdec.Dependencies" />
17    </ItemGroup>
18  
19    <Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOSPlatform('OSX'))">
20      <Exec Command="codesign --entitlements '$(ProjectDir)..\..\distribution\macos\entitlements.xml' -f --deep -s $(SigningCertificate) '$(TargetDir)$(TargetName)'" />
21    </Target>
22  
23    <ItemGroup>
24      <ProjectReference Include="..\Ryujinx.Graphics.Vulkan\Ryujinx.Graphics.Vulkan.csproj" />
25      <ProjectReference Include="..\Ryujinx.Input\Ryujinx.Input.csproj" />
26      <ProjectReference Include="..\Ryujinx.Input.SDL2\Ryujinx.Input.SDL2.csproj" />
27      <ProjectReference Include="..\Ryujinx.Audio.Backends.SDL2\Ryujinx.Audio.Backends.SDL2.csproj" />
28      <ProjectReference Include="..\Ryujinx.Common\Ryujinx.Common.csproj" />
29      <ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" />
30      <ProjectReference Include="..\ARMeilleure\ARMeilleure.csproj" />
31      <ProjectReference Include="..\Ryujinx.Graphics.OpenGL\Ryujinx.Graphics.OpenGL.csproj" />
32      <ProjectReference Include="..\Ryujinx.Graphics.Gpu\Ryujinx.Graphics.Gpu.csproj" />
33    </ItemGroup>
34  
35    <ItemGroup>
36      <PackageReference Include="CommandLineParser" />
37      <PackageReference Include="Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'linux-arm64' AND '$(RuntimeIdentifier)' != 'win-x64'" />
38    </ItemGroup>
39  
40    <ItemGroup>
41      <Content Include="..\..\distribution\legal\THIRDPARTY.md">
42        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
43        <TargetPath>THIRDPARTY.md</TargetPath>
44      </Content>
45      <Content Include="..\..\LICENSE.txt">
46        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
47        <TargetPath>LICENSE.txt</TargetPath>
48      </Content>
49    </ItemGroup>
50  
51    <ItemGroup Condition="'$(RuntimeIdentifier)' == 'linux-x64' OR '$(RuntimeIdentifier)' == 'linux-arm64' OR ('$(RuntimeIdentifier)' == '' AND $([MSBuild]::IsOSPlatform('Linux')))">
52      <Content Include="..\..\distribution\linux\Ryujinx.sh">
53        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
54      </Content>
55    </ItemGroup>
56  
57    <ItemGroup>
58      <EmbeddedResource Include="Ryujinx.bmp" />
59    </ItemGroup>
60  
61    <!-- Due to .net core 3.1 embedded resource loading -->
62    <PropertyGroup>
63      <EmbeddedResourceUseDependentUponConvention>false</EmbeddedResourceUseDependentUponConvention>
64      <ApplicationIcon>..\Ryujinx\Ryujinx.ico</ApplicationIcon>
65    </PropertyGroup>
66  
67    <PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
68      <PublishSingleFile>true</PublishSingleFile>
69      <PublishTrimmed>true</PublishTrimmed>
70      <TrimMode>partial</TrimMode>
71    </PropertyGroup>
72  </Project>