<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>$(LibraryTargetFrameworks)</TargetFrameworks>
    <Description>High performance Redis client, incorporating both synchronous and asynchronous usage.</Description>
    <AssemblyTitle>StackExchange.Redis</AssemblyTitle>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <AssemblyName>StackExchange.Redis</AssemblyName>
    <PackageId>StackExchange.Redis</PackageId>
    <PackageTags>Async;Redis;Cache;PubSub;Messaging</PackageTags>
    <OutputTypeEx>Library</OutputTypeEx>
  </PropertyGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'net45' OR '$(TargetFramework)' == 'net46' ">
    <Reference Include="System" />
    <Reference Include="Microsoft.CSharp" />
  </ItemGroup>

  <PropertyGroup Condition=" '$(TargetFramework)' == 'net45' or '$(TargetFramework)' == 'net46'">
    <DefineConstants>$(DefineConstants);FEATURE_SERIALIZATION;FEATURE_SOCKET_MODE_POLL;FEATURE_PERFCOUNTER;FEATURE_THREADPOOL</DefineConstants>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="System.IO.Compression" Version="$(CoreFxVersion)" />
  </ItemGroup>

  <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
    <DefineConstants>$(DefineConstants);FEATURE_SERIALIZATION;FEATURE_THREADPOOL</DefineConstants>
  </PropertyGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.5' ">
    <PackageReference Include="System.Collections.NonGeneric" Version="$(CoreFxVersion)" />
    <PackageReference Include="System.Net.NameResolution" Version="$(CoreFxVersion)" />
    <PackageReference Include="System.Net.Security" Version="$(CoreFxVersion)" />
    <PackageReference Include="System.Reflection.Emit" Version="$(CoreFxVersion)" />
    <PackageReference Include="System.Reflection.Emit.Lightweight" Version="$(CoreFxVersion)" />
    <PackageReference Include="System.Reflection.TypeExtensions" Version="$(CoreFxVersion)" />
    <PackageReference Include="System.Threading.Thread" Version="$(CoreFxVersion)" />
    <PackageReference Include="System.Threading.ThreadPool" Version="$(CoreFxVersion)" />
  </ItemGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
    <PackageReference Include="System.Reflection.Emit.Lightweight" Version="$(CoreFxVersion)" />
    <PackageReference Include="System.Reflection.Emit.ILGeneration" Version="$(CoreFxVersion)" />
  </ItemGroup>

</Project>