<!--
Copyright (C) 2026 SharpEmu Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later
-->

<Project Sdk="Microsoft.NET.Sdk">

  <!-- Class library: the GUI is hosted by SharpEmu.CLI, which opens it when
       the executable is started without arguments. -->
  <PropertyGroup>
    <GenerateDocumentationFile>false</GenerateDocumentationFile>
    <!-- Required by the source-generated LibraryImport stubs in the linked
         controller readers below. -->
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  </PropertyGroup>

  <!-- Dependency-free; provides the BuildInfo provenance shown in the
       title bar. -->
  <ItemGroup>
    <ProjectReference Include="..\SharpEmu.Logging\SharpEmu.Logging.csproj" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Avalonia" />
    <PackageReference Include="Avalonia.Desktop" />
    <PackageReference Include="Avalonia.Fonts.Inter" />
    <PackageReference Include="Avalonia.Themes.Fluent" />
    <PackageReference Include="Tmds.DBus.Protocol" />
  </ItemGroup>

  <ItemGroup>
    <AvaloniaResource Include="..\..\assets\images\SharpEmu.ico" Link="Assets/SharpEmu.ico" />
    <AvaloniaResource Include="..\..\assets\images\github.png" Link="Assets/github.png" />
    <AvaloniaResource Include="..\..\assets\images\discord.png" Link="Assets/discord.png" />
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="Languages\*.json">
      <LogicalName>Languages.%(Filename)%(Extension)</LogicalName>
    </EmbeddedResource>
  </ItemGroup>



  <!-- The controller readers (DualSense raw HID + Xbox XInput) are shared
       with the emulator's host input backend. They are dependency-free, so
       they are compiled in directly rather than pulling a reference to all
       of SharpEmu.HLE into the launcher. -->
  <ItemGroup>
    <Compile Include="..\SharpEmu.HLE\Host\HostGamepadState.cs" Link="Input/HostGamepadState.cs" />
    <Compile Include="..\SharpEmu.HLE\Host\Windows\WindowsHidNative.cs" Link="Input/WindowsHidNative.cs" />
    <Compile Include="..\SharpEmu.HLE\Host\Windows\WindowsDualSenseReader.cs" Link="Input/WindowsDualSenseReader.cs" />
    <Compile Include="..\SharpEmu.HLE\Host\Windows\WindowsXInputReader.cs" Link="Input/WindowsXInputReader.cs" />
  </ItemGroup>

</Project>
