<Project Sdk="Microsoft.NET.Sdk">
	<PropertyGroup>
		<OutputType>WinExe</OutputType>
		<TargetFramework>net10.0</TargetFramework>
		<RuntimeIdentifier>win-x64</RuntimeIdentifier>
		<!--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>
		<IsPublishable>true</IsPublishable>
		<AssemblyName>Hangover</AssemblyName>
		<PublishReadyToRun>true</PublishReadyToRun>
		<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
		<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
		<StartupObject />
		<IsPublishable>true</IsPublishable>

		<PublishReadyToRun>true</PublishReadyToRun>
		<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
		<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>

		<ApplicationIcon>hangover.ico</ApplicationIcon>
	</PropertyGroup>

	<ItemGroup>
		<RuntimeHostConfigurationOption Include="System.Net.DisableIPv6" Value="true" />
	</ItemGroup>

	<PropertyGroup>
		<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
	</PropertyGroup>

	<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
		<OutputPath>..\bin\Avalonia\Debug</OutputPath>
		<DebugType>embedded</DebugType>
	</PropertyGroup>

	<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
		<OutputPath>..\bin\Avalonia\Release</OutputPath>
		<DebugType>embedded</DebugType>
	</PropertyGroup>

	<ItemGroup>
		<AvaloniaResource Include="Assets\**" />
		<AvaloniaXaml Remove="Models\**" />
		<Compile Remove="Models\**" />
		<EmbeddedResource Remove="Models\**" />
		<None Remove="Models\**" />
		<None Remove=".gitignore" />
		<None Remove="Assets\hangover.ico" />
		<None Remove="hangover.ico" />
	</ItemGroup>
	
	<ItemGroup>
		<Compile Update="ViewModels\MainVM.*.cs">
			<DependentUpon>MainVM.cs</DependentUpon>
		</Compile>
		<Compile Update="Views\MainWindow.*.cs">
			<DependentUpon>MainWindow.axaml</DependentUpon>
		</Compile>
	</ItemGroup>

	<ItemGroup>
		<AvaloniaResource Include="hangover.ico" />
	</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.Desktop" Version="11.3.11" />
		<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
		<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.3.11" />
		<PackageReference Include="ReactiveUI.Avalonia" Version="11.3.8" />
		<PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.11" />
	</ItemGroup>
	<ItemGroup>
		<ProjectReference Include="..\HangoverBase\HangoverBase.csproj" />
	</ItemGroup>


	<Target Name="SpicNSpan" AfterTargets="Clean">
		<!-- Remove obj folder -->
		<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
		<!-- Remove bin folder -->
		<RemoveDir Directories="$(BaseOutputPath)" />
	</Target>

</Project>
