<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<OutputType>WinExe</OutputType>
		<TargetFramework>net7.0</TargetFramework>
		<Nullable>enable</Nullable>
		<!--Avalonia doesen't support TrimMode=link currently,but we are working on that https://github.com/AvaloniaUI/Avalonia/issues/6892 -->
		<TrimMode>copyused</TrimMode>
		<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
		<ApplicationIcon>assets\logo.ico</ApplicationIcon>
		<StartupObject></StartupObject>
	</PropertyGroup>
	<PropertyGroup>
		<UseAppHost>true</UseAppHost>
	</PropertyGroup>
	<ItemGroup>
		<None Remove=".gitignore" />
		<None Remove="assets\fabric.png" />
		<None Remove="assets\font.ttf" />
		<None Remove="assets\forge.png" />
		<None Remove="assets\icon.ttf" />
		<None Remove="assets\logo.ico" />
		<None Remove="assets\neoforge.png" />
		<None Remove="assets\normal.png" />
		<None Remove="assets\old_alpha.png" />
		<None Remove="assets\old_beta.png" />
		<None Remove="assets\optfine.png" />
		<None Remove="assets\quilt.png" />
		<None Remove="assets\snapshot.jpg" />
		<None Remove="assets\yrj.png" />
		<None Remove="mclx.icns" />
		<None Remove="start.sh" />
	</ItemGroup>
	<PropertyGroup>
		<CFBundleName>mclPlus</CFBundleName>
		<!-- Also defines .app file name -->
		<CFBundleDisplayName>MCLX Multi-Platform Version</CFBundleDisplayName>
		<CFBundleIdentifier>org.akchiji888.mcl</CFBundleIdentifier>
		<CFBundleVersion>0.1.0</CFBundleVersion>
		<CFBundlePackageType>APPL</CFBundlePackageType>
		<CFBundleSignature>????</CFBundleSignature>
		<CFBundleExecutable>mclPlus</CFBundleExecutable>
		<CFBundleIconFile>mclx.icns</CFBundleIconFile>
		<!-- Will be copied from output directory -->
		<NSPrincipalClass>NSApplication</NSPrincipalClass>
		<NSHighResolutionCapable>true</NSHighResolutionCapable>
		<CFBundleShortVersionString>0.1.0.0</CFBundleShortVersionString>
		<SignAssembly>True</SignAssembly>
		<ApplicationIcon>assets\logo.ico</ApplicationIcon>
		<StartupObject>mclPlus.Program</StartupObject>
		<Version>0.1.0-alpha</Version>
		<AssemblyVersion>0.1.0</AssemblyVersion>
		<FileVersion>0.1.0-alpha</FileVersion>
	</PropertyGroup>
	<ItemGroup>
		<EmbeddedResource Include="assets\fabric.png">
			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
		</EmbeddedResource>
		<EmbeddedResource Include="assets\font.ttf" />
		<EmbeddedResource Include="assets\icon.ttf" />
		<AvaloniaResource Include="assets\logo.ico" />
		<EmbeddedResource Include="assets\neoforge.png" />
		<EmbeddedResource Include="assets\normal.png">
			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
		</EmbeddedResource>
		<EmbeddedResource Include="assets\old_alpha.png">
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</EmbeddedResource>
		<EmbeddedResource Include="assets\old_beta.png">
			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
		</EmbeddedResource>
		<EmbeddedResource Include="assets\forge.png">
			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
		</EmbeddedResource>
		<EmbeddedResource Include="assets\optfine.png">
			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
		</EmbeddedResource>
		<EmbeddedResource Include="assets\quilt.png" />
		<EmbeddedResource Include="assets\snapshot.jpg">
			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
		</EmbeddedResource>
		<EmbeddedResource Include="assets\yrj.png">
			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
		</EmbeddedResource>
	</ItemGroup>
	<ItemGroup>
		<Content Include="assets\logo.ico" />
		<Content Include="mclx.icns" CopyToPublishDirectory="PreserveNewest">
		</Content>
		<Content Include="start.sh">
		  <CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</Content>
	</ItemGroup>
	<ItemGroup>
		<!--This helps with theme dll-s trimming.
	If you will publish your application in self-contained mode with p:PublishTrimmed=true and it will use Fluent theme Default theme will be trimmed from the output and vice versa.
	https://github.com/AvaloniaUI/Avalonia/issues/5593 -->
		<TrimmableAssembly Include="Avalonia.Themes.Fluent" />
		<TrimmableAssembly Include="Avalonia.Themes.Default" />
	</ItemGroup>
	<ItemGroup>
		<PackageReference Include="Avalonia" Version="11.0.5" />
		<PackageReference Include="Avalonia.Desktop" Version="11.0.5" />
		<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
		<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.0.5" />
		<PackageReference Include="DialogHost.Avalonia" Version="0.7.7" />
		<PackageReference Include="FluentAvaloniaUI" Version="2.0.4" />
		<PackageReference Include="MinecraftLaunch" Version="3.0.0-preview8" />
		<PackageReference Include="Dotnet.Bundle" Version="*" />
	</ItemGroup>
	<ItemGroup>
		<Content Include="mclx.png" CopyToPublishDirectory="PreserveNewest">
			<LinuxPath>/usr/share/icons/mclx.png</LinuxPath>
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</Content>
		<Content Include="mclx.desktop" CopyToPublishDirectory="PreserveNewest">
			<LinuxPath>/usr/share/applications/mclPlus.desktop</LinuxPath>
			<CopyToOutputDirectory>Always</CopyToOutputDirectory>
		</Content>
	</ItemGroup>
	<ItemGroup>
	  <Reference Include="Common">
	    <HintPath>assets\Common.dll</HintPath>
	  </Reference>
	  <Reference Include="Storage">
	    <HintPath>assets\Storage.dll</HintPath>
	  </Reference>
	  <Reference Include="Storage.Standard">
	    <HintPath>assets\Storage.Standard.dll</HintPath>
	  </Reference>
	</ItemGroup>
</Project>
