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

<Project Sdk="Microsoft.NET.Sdk">
  <ItemGroup>
    <ProjectReference Include="..\SharpEmu.HLE\SharpEmu.HLE.csproj" />
    <ProjectReference Include="..\SharpEmu.ShaderCompiler\SharpEmu.ShaderCompiler.csproj" />
    <ProjectReference Include="..\SharpEmu.ShaderCompiler.Vulkan\SharpEmu.ShaderCompiler.Vulkan.csproj" />
    <!-- SysAbi export generator + analyzers (compile-time registry, NID validation). -->
    <ProjectReference Include="..\SharpEmu.SourceGenerators\SharpEmu.SourceGenerators.csproj"
                      OutputItemType="Analyzer"
                      ReferenceOutputAssembly="false" />
  </ItemGroup>

  <ItemGroup>
    <!-- The PS5 symbol catalog: lets the analyzer flag export names it doesn't know. -->
    <AdditionalFiles Include="..\..\scripts\ps5_names.txt" />
  </ItemGroup>

  <ItemGroup>
    <InternalsVisibleTo Include="SharpEmu.Libs.Tests" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Silk.NET.Input" />
    <PackageReference Include="Silk.NET.Vulkan" />
    <PackageReference Include="Silk.NET.Vulkan.Extensions.EXT" />
    <PackageReference Include="Silk.NET.Vulkan.Extensions.KHR" />
    <PackageReference Include="Silk.NET.Windowing" />
  </ItemGroup>

  <PropertyGroup>
    <NoWarn>$(NoWarn);1591</NoWarn>
  </PropertyGroup>

  <PropertyGroup>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  </PropertyGroup>
</Project>
