<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup Label="Target">
        <TargetFramework>net5.0</TargetFramework>
        <RuntimeIdentifier>win-x64</RuntimeIdentifier>
        <PlatformTarget>x64</PlatformTarget>
        <Platforms>x64;AnyCPU</Platforms>
        <LangVersion>9.0</LangVersion>
    </PropertyGroup>

    <PropertyGroup Label="Feature">
        <InjectorVersion>5.2.4.6</InjectorVersion>
        <Description>XIV Launcher addon injector</Description>
        <AssemblyVersion>$(InjectorVersion)</AssemblyVersion>
        <FileVersion>$(InjectorVersion)</FileVersion>
        <Version>$(InjectorVersion)</Version>
    </PropertyGroup>

    <PropertyGroup Label="Output">
        <OutputType>Library</OutputType>
        <OutputPath>..\bin\$(Configuration)\</OutputPath>
        <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
        <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
        <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
        <ProduceReferenceAssembly>false</ProduceReferenceAssembly>
    </PropertyGroup>

    <PropertyGroup Label="Documentation">
        <DocumentationFile></DocumentationFile>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
    </PropertyGroup>

    <PropertyGroup Label="Build">
        <EnableDynamicLoading>true</EnableDynamicLoading>
        <DebugSymbols>true</DebugSymbols>
        <DebugType>portable</DebugType>
        <Deterministic>true</Deterministic>
        <Nullable>annotations</Nullable>
        <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    </PropertyGroup>

    <PropertyGroup Label="Configuration">
        <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)'=='Debug'">
        <DefineConstants>DEBUG;TRACE</DefineConstants>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)'=='Release'">
        <AppOutputBase>$(MSBuildProjectDirectory)\</AppOutputBase>
        <PathMap>$(AppOutputBase)=C:\goatsoft\companysecrets\injector\</PathMap>
    </PropertyGroup>

    <PropertyGroup Label="Warnings">
        <NoWarn>IDE0003;IDE0044;IDE1006;CS1591;CS1701;CS1702</NoWarn>
        <!-- IDE0003 - Name can be simplified -->
        <!-- IDE1006 - Naming violation -->
        <!-- CS1591  - Missing XML comment for publicly visible type or member -->
        <!-- CS1701  - Runtime policy may be needed -->
        <!-- CS1702  - Runtime policy may be needed -->
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Iced" Version="1.13.0" />
        <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
        <PackageReference Include="PeNet" Version="2.6.4" />
        <PackageReference Include="Reloaded.Memory" Version="4.1.1" />
        <PackageReference Include="Reloaded.Memory.Buffers" Version="1.3.5" />
        <PackageReference Include="Serilog" Version="2.10.0" />
        <PackageReference Include="Serilog.Sinks.Async" Version="1.5.0" />
        <PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
        <PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.333">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
    </ItemGroup>

    <ItemGroup>
        <AdditionalFiles Include="..\stylecop.json" />
    </ItemGroup>

    <ItemGroup>
        <!-- This prevents us from having to include Dalamud itself as a dependency -->
        <!-- If the files move just update the paths here -->
        <Compile Include="..\Dalamud\ClientLanguage.cs" Link="Included\%(Filename)%(Extension)" />
        <Compile Include="..\Dalamud\DalamudStartInfo.cs" Link="Included\%(Filename)%(Extension)" />
        <Compile Include="..\Dalamud\Game\GameVersion.cs" Link="Included\Game\%(Filename)%(Extension)" />
        <Compile Include="..\Dalamud\Game\GameVersionConverter.cs" Link="Included\Game\%(Filename)%(Extension)" />
    </ItemGroup>
</Project>
