<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <RootNamespace>HISP</RootNamespace>
    <LangVersion>10.0</LangVersion>
    <Platforms>x64;x86;ARM;ARM64;AnyCPU</Platforms>
    <Configurations>Debug;Windows;Linux;MacOS</Configurations>
  </PropertyGroup>
  <ItemGroup>
    <Compile Update="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <Content Include="icon.ico" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="MySqlConnector" Version="2.0.0-rc.1" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
  </ItemGroup>
  <PropertyGroup>
    <PostBuildEvent Condition="'$(OS)' == 'Windows_NT'">
      copy "$(SolutionDir)..\HorseIsleData\gamedata.json" "$(TargetDir)gamedata.json" /Y
      copy "$(SolutionDir)..\HorseIsleData\HI1.MAP" "$(TargetDir)HI1.MAP" /Y
    </PostBuildEvent>
    <PostBuildEvent Condition="'$(OS)' != 'Windows_NT'">
      cp -f "$(SolutionDir)../HorseIsleData/gamedata.json" "$(TargetDir)gamedata.json"
      cp -f "$(SolutionDir)../HorseIsleData/HI1.MAP" "$(TargetDir)HI1.MAP"
    </PostBuildEvent> 
  </PropertyGroup>
  <PropertyGroup>
    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    <GenerateBindingRedirectsOutputType>false</GenerateBindingRedirectsOutputType>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <NoWin32Manifest>true</NoWin32Manifest>
    <ApplicationIcon>icon.ico</ApplicationIcon>
    <StartupObject>HISP.Program</StartupObject>
    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
    <DebugType>embedded</DebugType>
    <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
    <AnalysisLevel>none</AnalysisLevel>
    <EnableNETAnalyzers>False</EnableNETAnalyzers>
    <Copyright>Public Domain, 2021</Copyright>
    <PackageProjectUrl>https://islehorse.com</PackageProjectUrl>
    <RepositoryUrl>https://github.com/islehorse/HISP</RepositoryUrl>
    <RepositoryType>git</RepositoryType>
    <PackageLicenseFile>C:\Users\Silica\Documents\GitHub\HISP\LICENSE</PackageLicenseFile>
  </PropertyGroup>
    
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x86'">
    <RuntimeIdentifier>win-x86</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>x86</PlatformTarget>
  	<DefineConstants>OS_WINDOWS;ARCH_X86</DefineConstants>
  	<WarningLevel>3</WarningLevel>
  	<NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x64'">
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>x64</PlatformTarget>
    <DefineConstants>OS_WINDOWS;ARCH_X86_64</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM'">
    <RuntimeIdentifier>win-arm</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>ARM32</PlatformTarget>
    <DefineConstants>OS_WINDOWS;ARCH_ARM</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM64'">
    <RuntimeIdentifier>win-arm64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>ARM64</PlatformTarget>
    <DefineConstants>OS_WINDOWS;ARCH_ARM64</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>

  
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|x64'">
    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>x64</PlatformTarget>
    <DefineConstants>OS_LINUX;ARCH_X86_64</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>  
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM'">
    <RuntimeIdentifier>linux-arm</RuntimeIdentifier>
    <PlatformTarget>ARM</PlatformTarget>
    <Optimize>true</Optimize>
    <DefineConstants>OS_LINUX;ARCH_ARM</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM64'">
    <RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
    <PlatformTarget>ARM64</PlatformTarget>
    <Optimize>true</Optimize>
    <DefineConstants>OS_LINUX;ARCH_ARM64</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>
  
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|x64'">
    <RuntimeIdentifier>osx-x64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>x64</PlatformTarget>
    <DefineConstants>OS_MACOS;ARCH_X86_64</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|ARM64'">
    <RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <DefineConstants>OS_MACOS;ARCH_ARM64</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='All|AnyCPU'">
    <TargetFramework>net6.0</TargetFramework>
    <RuntimeIdentifiers>win-x86;win-x64;win-arm;win-arm64;linux-x64;linux-arm;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
    <Optimize>True</Optimize>
    <DefineConstants>OS_ALL;ARCH_ANYCPU</DefineConstants>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
    <PlatformTarget>ARM32</PlatformTarget>
    <Optimize>False</Optimize>
    <DefineConstants>DEBUG;TRACE;OS_DEBUG;ARCH_ARM</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
    <PlatformTarget>ARM64</PlatformTarget>
    <Optimize>False</Optimize>
    <DefineConstants>DEBUG;TRACE;OS_DEBUG;ARCH_ARM64</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Optimize>False</Optimize>
    <DefineConstants>DEBUG;TRACE;OS_DEBUG;ARCH_X86_64</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
    <Optimize>False</Optimize>
    <DefineConstants>DEBUG;TRACE;OS_DEBUG;ARCH_X86</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|x86'">
    <Optimize>True</Optimize>
    <DefineConstants>OS_MACOS;ARCH_X86</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|x86'">
    <Optimize>True</Optimize>
    <DefineConstants>OS_LINUX;ARCH_X86</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|AnyCPU'">
    <Optimize>True</Optimize>
    <DefineConstants>OS_LINUX;ARCH_ANYCPU</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|AnyCPU'">
    <Optimize>True</Optimize>
    <DefineConstants>OS_WINDOWS;ARCH_ANYCPU</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|AnyCPU'">
    <Optimize>True</Optimize>
    <DefineConstants>OS_MACOS;ARCH_ANYCPU</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|ARM'">
    <Optimize>True</Optimize>
    <DefineConstants>OS_MACOS;ARCH_ARM</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026</NoWarn>
  </PropertyGroup>

  
  <Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Command="git rev-parse --verify HEAD&gt;&quot;$(ProjectDir)Resources\GitCommit&quot;" />
  </Target>
</Project>
