<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
        <PreserveCompilationContext>false</PreserveCompilationContext>
        <ShouldIncludeNativeSkiaSharp>false</ShouldIncludeNativeSkiaSharp>
        <AssemblyTitle>Artemis.Core</AssemblyTitle>
        <Product>Artemis Core</Product>
        <Copyright>Copyright © Robert Beekman - 2020</Copyright>
        <OutputPath>bin\</OutputPath>
        <Platforms>x64</Platforms>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <PackageId>ArtemisRGB.Core</PackageId>
        <PluginApiVersion>1</PluginApiVersion>
        <Nullable>enable</Nullable>
        <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    </PropertyGroup>

    <ItemGroup>
        <!--Used to embed the above PluginApiVersion property into the assembly as metadata-->
        <AssemblyMetadata Include="PluginApiVersion" Value="$(PluginApiVersion)" />
    </ItemGroup>

    <ItemGroup>
        <ProjectReference Include="..\Artemis.Storage\Artemis.Storage.csproj" />
        <ProjectReference Condition="'$(BuildingNuget)' == 'True'" Update="..\Artemis.Storage\Artemis.Storage.csproj" PrivateAssets="All" />
        
        <!-- 
         Include Artemis.Storage directly in the NuGet package instead of expecting it as an external dependency
         https://github.com/NuGet/Home/issues/3891#issuecomment-309792369
         https://github.com/NuGet/Home/pull/11708
        -->
        <_PackageFiles Include="$(OutputPath)\Artemis.Storage.dll">
            <BuildAction>None</BuildAction>
            <PackagePath>lib\$(TargetFramework)</PackagePath>
        </_PackageFiles>
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="DryIoc.dll" />
        <PackageReference Include="EmbedIO" />
        <PackageReference Include="HidSharp" />
        <PackageReference Include="Humanizer.Core" />
        <PackageReference Include="JetBrains.Annotations" />
        <PackageReference Include="McMaster.NETCore.Plugins" />
        <PackageReference Include="Newtonsoft.Json" />
        <PackageReference Include="RGB.NET.Core" />
        <PackageReference Include="RGB.NET.Layout" />
        <PackageReference Include="RGB.NET.Presets" />
        <PackageReference Include="Serilog.Sinks.Console" />
        <PackageReference Include="Serilog.Sinks.Debug" />
        <PackageReference Include="Serilog.Sinks.File" />
        <PackageReference Include="SkiaSharp" />
    </ItemGroup>

    <ItemGroup>
        <None Include="Resources/intro-profile.json" CopyToOutputDirectory="PreserveNewest" />
        <None Include="DefaultLayouts/**" CopyToOutputDirectory="PreserveNewest" />
    </ItemGroup>
</Project>