2024-03-02 11:51:05 +00:00
<Project Sdk= "Microsoft.NET.Sdk" >
2018-02-04 23:08:20 +00:00
<PropertyGroup >
2023-11-15 16:41:31 +00:00
<TargetFramework > net8.0</TargetFramework>
<RuntimeIdentifiers > win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
2018-08-10 17:27:15 +00:00
<OutputType > Exe</OutputType>
<AllowUnsafeBlocks > true</AllowUnsafeBlocks>
2020-02-12 13:35:39 +00:00
<Version > 1.0.0-dirty</Version>
2021-02-28 10:56:15 +00:00
<DefineConstants Condition= " '$(ExtraDefineConstants)' != '' " > $(DefineConstants);$(ExtraDefineConstants)</DefineConstants>
2024-03-02 11:51:05 +00:00
<SigningCertificate Condition= " '$(SigningCertificate)' == '' " > -</SigningCertificate>
<ApplicationIcon > Ryujinx.ico</ApplicationIcon>
2022-11-09 19:22:43 +00:00
<TieredPGO > true</TieredPGO>
2024-03-02 11:51:05 +00:00
<AvaloniaUseCompiledBindingsByDefault > true</AvaloniaUseCompiledBindingsByDefault>
<ApplicationManifest > app.manifest</ApplicationManifest>
2019-04-26 04:53:10 +00:00
</PropertyGroup>
2024-03-02 11:51:05 +00:00
<Target Name= "PostBuild" AfterTargets= "PostBuildEvent" Condition= "$([MSBuild]::IsOSPlatform('OSX'))" >
<Exec Command= "codesign --entitlements '$(ProjectDir)..\..\distribution\macos\entitlements.xml' -f --deep -s $(SigningCertificate) '$(TargetDir)$(TargetName)'" />
</Target>
2021-06-23 22:40:19 +00:00
<PropertyGroup Condition= "'$(RuntimeIdentifier)' != ''" >
<PublishSingleFile > true</PublishSingleFile>
2023-05-29 23:48:37 +00:00
<TrimmerSingleWarn > false</TrimmerSingleWarn>
2021-06-23 22:40:19 +00:00
<PublishTrimmed > true</PublishTrimmed>
2022-11-09 19:22:43 +00:00
<TrimMode > partial</TrimMode>
2021-06-23 22:40:19 +00:00
</PropertyGroup>
2024-03-02 11:51:05 +00:00
<!--
FluentAvalonia, used in the Avalonia UI, requires a workaround for the json serializer used internally when using .NET 8+ System.Text.Json.
See:
https://github.com/amwx/FluentAvalonia/issues/481
https://devblogs.microsoft.com/dotnet/system-text-json-in-dotnet-8/
-->
<PropertyGroup >
<JsonSerializerIsReflectionEnabledByDefault > true</JsonSerializerIsReflectionEnabledByDefault>
</PropertyGroup>
2020-11-15 18:27:15 +00:00
<ItemGroup >
2024-03-02 11:51:05 +00:00
<PackageReference Include= "Avalonia" />
<PackageReference Include= "Avalonia.Desktop" />
<PackageReference Include= "Avalonia.Diagnostics" Condition= "'$(Configuration)'=='Debug'" />
<PackageReference Include= "Avalonia.Controls.DataGrid" />
<PackageReference Include= "Avalonia.Markup.Xaml.Loader" />
<PackageReference Include= "Avalonia.Svg" />
<PackageReference Include= "Avalonia.Svg.Skia" />
<PackageReference Include= "DynamicData" />
<PackageReference Include= "FluentAvaloniaUI" />
<PackageReference Include= "OpenTK.Core" />
2024-02-10 21:49:32 +00:00
<PackageReference Include= "Ryujinx.Audio.OpenAL.Dependencies" Condition= "'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'linux-arm64' AND '$(RuntimeIdentifier)' != 'osx-x64' AND '$(RuntimeIdentifier)' != 'osx-arm64'" />
2024-03-02 11:51:05 +00:00
<PackageReference Include= "Ryujinx.Graphics.Nvdec.Dependencies" />
2024-02-10 21:49:32 +00:00
<PackageReference Include= "Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK" Condition= "'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'linux-arm64' AND '$(RuntimeIdentifier)' != 'win-x64'" />
2024-03-02 11:51:05 +00:00
<PackageReference Include= "Silk.NET.Vulkan" />
<PackageReference Include= "Silk.NET.Vulkan.Extensions.EXT" />
<PackageReference Include= "Silk.NET.Vulkan.Extensions.KHR" />
2022-12-12 15:03:10 +00:00
<PackageReference Include= "SPB" />
<PackageReference Include= "SharpZipLib" />
<PackageReference Include= "SixLabors.ImageSharp" />
2024-03-02 11:51:05 +00:00
<!-- NOTE: DO NOT REMOVE, THIS IS REQUIRED AS A RESULT OF A TRIMMING ISSUE IN AVALONIA -->
<PackageReference Include= "System.Drawing.Common" />
2020-11-15 18:27:15 +00:00
</ItemGroup>
<ItemGroup >
2024-03-02 11:51:05 +00:00
<ProjectReference Include= "..\Ryujinx.Audio.Backends.SDL2\Ryujinx.Audio.Backends.SDL2.csproj" />
<ProjectReference Include= "..\Ryujinx.Graphics.Vulkan\Ryujinx.Graphics.Vulkan.csproj" />
2021-04-14 10:28:43 +00:00
<ProjectReference Include= "..\Ryujinx.Input\Ryujinx.Input.csproj" />
<ProjectReference Include= "..\Ryujinx.Input.SDL2\Ryujinx.Input.SDL2.csproj" />
2021-02-26 00:11:56 +00:00
<ProjectReference Include= "..\Ryujinx.Audio.Backends.OpenAL\Ryujinx.Audio.Backends.OpenAL.csproj" />
<ProjectReference Include= "..\Ryujinx.Audio.Backends.SoundIo\Ryujinx.Audio.Backends.SoundIo.csproj" />
2020-11-15 18:27:15 +00:00
<ProjectReference Include= "..\Ryujinx.Common\Ryujinx.Common.csproj" />
<ProjectReference Include= "..\Ryujinx.HLE\Ryujinx.HLE.csproj" />
<ProjectReference Include= "..\ARMeilleure\ARMeilleure.csproj" />
<ProjectReference Include= "..\Ryujinx.Graphics.OpenGL\Ryujinx.Graphics.OpenGL.csproj" />
<ProjectReference Include= "..\Ryujinx.Graphics.Gpu\Ryujinx.Graphics.Gpu.csproj" />
2024-02-11 02:09:18 +00:00
<ProjectReference Include= "..\Ryujinx.UI.Common\Ryujinx.UI.Common.csproj" />
2024-03-02 11:51:05 +00:00
<ProjectReference Include= "..\Ryujinx.UI.LocaleGenerator\Ryujinx.UI.LocaleGenerator.csproj" OutputItemType= "Analyzer" ReferenceOutputAssembly= "false" />
2020-11-15 18:27:15 +00:00
</ItemGroup>
2022-05-15 14:02:15 +00:00
<ItemGroup >
2024-02-10 21:49:32 +00:00
<Content Include= "..\..\distribution\windows\alsoft.ini" Condition= "'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'linux-arm64' AND '$(RuntimeIdentifier)' != 'osx-x64'" >
2022-05-15 14:02:15 +00:00
<CopyToOutputDirectory > Always</CopyToOutputDirectory>
<TargetPath > alsoft.ini</TargetPath>
2022-12-07 17:20:18 +00:00
</Content>
2023-04-07 23:22:00 +00:00
<Content Include= "..\..\distribution\legal\THIRDPARTY.md" >
2022-05-15 14:02:15 +00:00
<CopyToOutputDirectory > Always</CopyToOutputDirectory>
<TargetPath > THIRDPARTY.md</TargetPath>
2022-12-07 17:20:18 +00:00
</Content>
2023-04-07 23:22:00 +00:00
<Content Include= "..\..\LICENSE.txt" >
2022-12-07 17:20:18 +00:00
<CopyToOutputDirectory > Always</CopyToOutputDirectory>
<TargetPath > LICENSE.txt</TargetPath>
</Content>
2022-05-15 14:02:15 +00:00
</ItemGroup>
2020-11-15 18:27:15 +00:00
2024-02-10 21:05:46 +00:00
<ItemGroup Condition= "'$(RuntimeIdentifier)' == 'linux-x64' OR '$(RuntimeIdentifier)' == 'linux-arm64'" >
2023-10-20 18:51:15 +00:00
<Content Include= "..\..\distribution\linux\Ryujinx.sh" >
2023-01-07 08:06:13 +00:00
<CopyToOutputDirectory > Always</CopyToOutputDirectory>
2023-10-20 18:51:15 +00:00
</Content>
<Content Include= "..\..\distribution\linux\mime\Ryujinx.xml" >
<CopyToOutputDirectory > Always</CopyToOutputDirectory>
<TargetPath > mime\Ryujinx.xml</TargetPath>
</Content>
</ItemGroup>
2023-01-07 08:06:13 +00:00
2019-11-29 04:32:51 +00:00
<ItemGroup >
2024-03-02 11:51:05 +00:00
<AvaloniaResource Include= "UI\**\*.xaml" >
<SubType > Designer</SubType>
</AvaloniaResource>
<AvaloniaResource Include= "Assets\Fonts\SegoeFluentIcons.ttf" />
<AvaloniaResource Include= "Assets\Styles\Themes.xaml" >
<Generator > MSBuild:Compile</Generator>
</AvaloniaResource>
<AvaloniaResource Include= "Assets\Styles\Styles.xaml" />
2019-11-29 04:32:51 +00:00
</ItemGroup>
2019-09-02 16:03:57 +00:00
<ItemGroup >
2024-03-02 11:51:05 +00:00
<None Remove= "Assets\Locales\el_GR.json" />
<None Remove= "Assets\Locales\en_US.json" />
<None Remove= "Assets\Locales\es_ES.json" />
<None Remove= "Assets\Locales\fr_FR.json" />
<None Remove= "Assets\Locales\he_IL.json" />
<None Remove= "Assets\Locales\de_DE.json" />
<None Remove= "Assets\Locales\it_IT.json" />
<None Remove= "Assets\Locales\ja_JP.json" />
<None Remove= "Assets\Locales\ko_KR.json" />
<None Remove= "Assets\Locales\pl_PL.json" />
<None Remove= "Assets\Locales\pt_BR.json" />
<None Remove= "Assets\Locales\ru_RU.json" />
<None Remove= "Assets\Locales\tr_TR.json" />
<None Remove= "Assets\Locales\uk_UA.json" />
<None Remove= "Assets\Locales\zh_CN.json" />
<None Remove= "Assets\Locales\zh_TW.json" />
<None Remove= "Assets\Styles\Styles.xaml" />
<None Remove= "Assets\Styles\Themes.xaml" />
<None Remove= "Assets\Icons\Controller_JoyConLeft.svg" />
<None Remove= "Assets\Icons\Controller_JoyConPair.svg" />
<None Remove= "Assets\Icons\Controller_JoyConRight.svg" />
<None Remove= "Assets\Icons\Controller_ProCon.svg" />
2019-09-02 16:03:57 +00:00
</ItemGroup>
2024-03-02 11:51:05 +00:00
<ItemGroup >
<EmbeddedResource Include= "Assets\Locales\el_GR.json" />
<EmbeddedResource Include= "Assets\Locales\en_US.json" />
<EmbeddedResource Include= "Assets\Locales\es_ES.json" />
<EmbeddedResource Include= "Assets\Locales\fr_FR.json" />
<EmbeddedResource Include= "Assets\Locales\he_IL.json" />
<EmbeddedResource Include= "Assets\Locales\de_DE.json" />
<EmbeddedResource Include= "Assets\Locales\it_IT.json" />
<EmbeddedResource Include= "Assets\Locales\ja_JP.json" />
<EmbeddedResource Include= "Assets\Locales\ko_KR.json" />
<EmbeddedResource Include= "Assets\Locales\pl_PL.json" />
<EmbeddedResource Include= "Assets\Locales\pt_BR.json" />
<EmbeddedResource Include= "Assets\Locales\ru_RU.json" />
<EmbeddedResource Include= "Assets\Locales\tr_TR.json" />
<EmbeddedResource Include= "Assets\Locales\uk_UA.json" />
<EmbeddedResource Include= "Assets\Locales\zh_CN.json" />
<EmbeddedResource Include= "Assets\Locales\zh_TW.json" />
<EmbeddedResource Include= "Assets\Styles\Styles.xaml" />
<EmbeddedResource Include= "Assets\Icons\Controller_JoyConLeft.svg" />
<EmbeddedResource Include= "Assets\Icons\Controller_JoyConPair.svg" />
<EmbeddedResource Include= "Assets\Icons\Controller_JoyConRight.svg" />
<EmbeddedResource Include= "Assets\Icons\Controller_ProCon.svg" />
</ItemGroup>
<ItemGroup >
<AdditionalFiles Include= "Assets\Locales\en_US.json" />
</ItemGroup>
2023-10-20 18:51:15 +00:00
</Project>