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

    <PropertyGroup>
        <!-- Assembly Properties -->
        <TargetFrameworks>net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0</TargetFrameworks>
        <OutputType>Exe</OutputType>
        <CheckEolTargetFramework>false</CheckEolTargetFramework>
        <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
        <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
        <LangVersion>latest</LangVersion>
        <NoWarn>NU1902;NU1903</NoWarn>
        <Nullable>enable</Nullable>
        <SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
        <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
        <VersionPrefix>3.3.1</VersionPrefix>

        <!-- Package Properties -->
        <Title>MPF Check</Title>
        <Authors>Matt Nadareski;ReignStumble;Jakz</Authors>
        <Description>Validator for various dumping programs</Description>
        <Copyright>Copyright (c) Matt Nadareski 2019-2025</Copyright>
        <PackageProjectUrl>https://github.com/SabreTools/</PackageProjectUrl>
        <RepositoryUrl>https://github.com/SabreTools/MPF</RepositoryUrl>
        <RepositoryType>git</RepositoryType>
    </PropertyGroup>

    <!-- Support All Frameworks -->
    <PropertyGroup Condition="$(TargetFramework.StartsWith(`net2`)) OR $(TargetFramework.StartsWith(`net3`)) OR $(TargetFramework.StartsWith(`net4`))">
        <RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
    </PropertyGroup>
    <PropertyGroup Condition="$(TargetFramework.StartsWith(`netcoreapp`)) OR $(TargetFramework.StartsWith(`net5`))">
        <RuntimeIdentifiers>win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64</RuntimeIdentifiers>
    </PropertyGroup>
    <PropertyGroup Condition="$(TargetFramework.StartsWith(`net6`)) OR $(TargetFramework.StartsWith(`net7`)) OR $(TargetFramework.StartsWith(`net8`)) OR $(TargetFramework.StartsWith(`net9`))">
        <RuntimeIdentifiers>win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
    </PropertyGroup>
    <PropertyGroup Condition="$(RuntimeIdentifier.StartsWith(`osx-arm`))">
        <TargetFrameworks>net6.0;net7.0;net8.0;net9.0</TargetFrameworks>
    </PropertyGroup>

    <ItemGroup>
        <ProjectReference Include="..\MPF.Frontend\MPF.Frontend.csproj" />
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="SabreTools.RedumpLib" Version="1.6.6" />
    </ItemGroup>

</Project>