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

    <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
    </PropertyGroup>

    <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
        <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    </PropertyGroup>

    <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
        <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    </PropertyGroup>

    <ItemGroup>
        <InternalsVisibleTo Include="EngineTests"/>
        <InternalsVisibleTo Include="PresenterConsole"/>
        <InternalsVisibleTo Include="PresenterWpf"/>
        <InternalsVisibleTo Include="PresenterNative"/>
        <PackageReference Include="Evergine.Bindings.RenderDoc" Version="2024.10.7.18" />

        <PackageReference Include="OpenTK" Version="4.8.2"/>
        <PackageReference Include="Serilog" Version="4.1.0"/>
        <PackageReference Include="Serilog.Enrichers.Thread" Version="4.0.0"/>
        <PackageReference Include="Serilog.Sinks.Console" Version="6.0.0"/>
        <PackageReference Include="Serilog.Sinks.File" Version="6.0.0"/>
        <PackageReference Include="SixLabors.ImageSharp" Version="3.1.6" />
    </ItemGroup>

    <ItemGroup>
        <EmbeddedResource Update="src\Resource\ShaderResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>Test.Designer.cs</LastGenOutput>
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </EmbeddedResource>
    </ItemGroup>

    <ItemGroup>
        <Compile Update="src\Resource\ShaderResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>ShaderResource.resx</DependentUpon>
        </Compile>
    </ItemGroup>

</Project>
