<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <RootNamespace>HISP.Tests</RootNamespace>
    <LangVersion>10.0</LangVersion>
    <Platforms>x64;x86;ARM;ARM64;AnyCPU</Platforms>
    <Configurations>Debug;Windows;Linux;MacOS;Android;iOS</Configurations>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\LibHISP\LibHISP.csproj" />
  </ItemGroup>
  <ItemGroup>
    <Compile Update="Properties\Resources.Designer.cs">
      <DependentUpon>Resources.resx</DependentUpon>
      <DesignTime>True</DesignTime>
      <AutoGen>True</AutoGen>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Update="Properties\Resources.resx">
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
      <Generator>PublicResXFileCodeGenerator</Generator>
    </EmbeddedResource>
  </ItemGroup>
  <PropertyGroup>
    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    <GenerateBindingRedirectsOutputType>false</GenerateBindingRedirectsOutputType>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <NoWin32Manifest>true</NoWin32Manifest>
    <ApplicationIcon>icon.ico</ApplicationIcon>
    <StartupObject>HISP.Tests.Program</StartupObject>
    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
    <DebugType>embedded</DebugType>
    <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
    <AnalysisLevel>none</AnalysisLevel>
    <EnableNETAnalyzers>False</EnableNETAnalyzers>
    <Copyright>Public Domain, 2022</Copyright>
    <PackageProjectUrl>https://islehorse.com</PackageProjectUrl>
    <RepositoryUrl>https://github.com/islehorse/HISP</RepositoryUrl>
    <RepositoryType>git</RepositoryType>
    <WarningLevel>3</WarningLevel>
    <NoWarn>1701;1702;2026;IL2026</NoWarn>
  </PropertyGroup>
  <PropertyGroup>

    <TrimMode>partial</TrimMode>
    <EnableTrimAnalyzer>false</EnableTrimAnalyzer>
    <TrimmerRemoveSymbols>true</TrimmerRemoveSymbols>

  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x86'">
    <RuntimeIdentifier>win-x86</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <Platforms>x86</Platforms>
    <PlatformTarget>x86</PlatformTarget>
    <DefineConstants>OS_WINDOWS;ARCH_X86</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x64'">
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <Platforms>x64</Platforms>
    <PlatformTarget>x64</PlatformTarget>
    <DefineConstants>OS_WINDOWS;ARCH_X86_64</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM'">
    <RuntimeIdentifier>win-arm</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>ARM</PlatformTarget>
    <DefineConstants>OS_WINDOWS;ARCH_ARM</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM64'">
    <RuntimeIdentifier>win-arm64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>ARM64</PlatformTarget>
    <DefineConstants>OS_WINDOWS;ARCH_ARM64</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Android|ARM'">
    <RuntimeIdentifier>android-arm</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>ARM</PlatformTarget>
    <DefineConstants>OS_ANDROID;ARCH_ARM</DefineConstants>
    <WarningLevel>3</WarningLevel>
    <NoWarn></NoWarn>
    <DebugType>none</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Android|ARM64'">
    <RuntimeIdentifier>android-arm64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>ARM64</PlatformTarget>
    <DefineConstants>OS_ANDROID;ARCH_ARM64</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|x64'">
    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>x64</PlatformTarget>
    <DefineConstants>OS_LINUX;ARCH_X86_64</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM'">
    <RuntimeIdentifier>linux-arm</RuntimeIdentifier>
    <PlatformTarget>ARM</PlatformTarget>
    <Optimize>true</Optimize>
    <DefineConstants>OS_LINUX;ARCH_ARM</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM64'">
    <RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
    <PlatformTarget>ARM64</PlatformTarget>
    <Optimize>true</Optimize>
    <DefineConstants>OS_LINUX;ARCH_ARM64</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|x64'">
    <RuntimeIdentifier>osx-x64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>x64</PlatformTarget>
    <DefineConstants>OS_MACOS;ARCH_X86_64</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|ARM64'">
    <RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <DefineConstants>OS_MACOS;ARCH_ARM64</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='iOS|ARM'">
    <RuntimeIdentifier>ios-arm</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>ARM</PlatformTarget>
    <DefineConstants>OS_IOS;ARCH_ARM</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='iOS|ARM64'">
    <RuntimeIdentifier>ios-arm64</RuntimeIdentifier>
    <Optimize>true</Optimize>
    <PlatformTarget>ARM64</PlatformTarget>
    <DefineConstants>OS_IOS;ARCH_ARM64</DefineConstants>
    <DebugType>none</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='All|AnyCPU'">
    <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)'=='Debug'">
    <Optimize>False</Optimize>
    <DefineConstants>DEBUG;TRACE;OS_DEBUG</DefineConstants>
    <DebugType>full</DebugType>
  </PropertyGroup>



</Project>