<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <CLITargets Condition=" '$(CLITargets)' == '' ">Prepare;Compile;Test;Package;Publish</CLITargets>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <!-- Currently, 'arm*' SDK's do not include the LZMA for performance upon extraction of the NuGet archive. -->
    <!-- https://github.com/dotnet/cli/issues/8800 -->
    <IncludeNuGetPackageArchive Condition=" $(Architecture.StartsWith('arm')) ">false</IncludeNuGetPackageArchive>
    <IncludeNuGetPackageArchive Condition=" '$(IncludeNuGetPackageArchive)' == '' ">true</IncludeNuGetPackageArchive>
    <SkipBuildingInstallers Condition=" '$(SkipBuildingInstallers)' == '' AND
        ($(Rid.StartsWith('rhel.6'))
        OR $(Rid.StartsWith('linux-musl'))
        OR $(Rid.StartsWith('fedora.27'))
        OR $(Rid.StartsWith('opensuse.42.3'))
        OR $(Rid.StartsWith('ubuntu.18.04')))">true</SkipBuildingInstallers>
    <SkipBuildingInstallers Condition=" '$(SkipBuildingInstallers)' == '' ">false</SkipBuildingInstallers>
    <UsePortableLinuxSharedFramework Condition=" '$(UsePortableLinuxSharedFramework)' == '' AND '$(OSPlatform)' == 'linux' AND '$(Rid)' != 'rhel.6-x64' AND '$(Rid)' != 'linux-musl-x64' ">true</UsePortableLinuxSharedFramework>
    <IncludeSharedFrameworksForBackwardsCompatibilityTests Condition=" $(IncludeSharedFrameworksForBackwardsCompatibilityTests) == ''
        AND '$(Rid)' != 'linux-x64'
        AND '$(Rid)' != 'rhel.6-x64'
        AND '$(Rid)' != 'linux-musl-x64'
        AND '$(Rid)' != 'fedora.27-x64'
        AND '$(Rid)' != 'opensuse.42.3-x64'
        AND '$(Rid)' != 'ubuntu.18.04-x64'">true</IncludeSharedFrameworksForBackwardsCompatibilityTests>
    <HighEntropyVA>true</HighEntropyVA>

    <!-- Only use asset target fallback that we set (not implicit one to net461). -->
    <DisableImplicitAssetTargetFallback>true</DisableImplicitAssetTargetFallback>

    <!-- NU1701: Disable asset target fallback warning globally since it does not work transitively on NoWarn of individual packages -->
    <!-- Since we disabled the implict fallback to net461, this will only kick in when we have an explicit fallback and we don't need to be warned about it doing what we asked it to do. -->
    <!-- NU5104: Disable 'A stable release of a package should not have a prerelease dependency' warning globally -->
    <!-- The "pack" command under 'buildCrossTargeting' for 'Microsoft.DotNet.MSBuildSdkResolver' throws a "NU5104" warning/error while using a "2.1.300" stage0 SDK. For: Linux-x64, Linux-arm, and Linux-arm64 -->
    <NoWarn>NU1701;NU5104</NoWarn>

    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
  </PropertyGroup>
</Project>
