<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <!-- build number: concat 2-digit year with 3-digit day of the year (16-bits until 2066) -->
        <MyBuildNumber>$([System.DateTime]::Now.ToString(`yy`))$([System.DateTime]::Now.DayOfYear.ToString(`000`))</MyBuildNumber>

        <!-- git revision -->
        <MyGitRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), .git/HEAD))</MyGitRoot>
        <MyGitHead>$([System.IO.File]::ReadAllText($(MyGitRoot)/.git/HEAD).Trim())</MyGitHead>
        <MyGitRevision Condition="$(MyGitHead.StartsWith(ref: )) And  Exists('$(MyGitRoot)/.git/$(MyGitHead.Substring(5))')">$([System.IO.File]::ReadAllText($(MyGitRoot)/.git/$(MyGitHead.Substring(5))).Trim().Substring(0, 7))</MyGitRevision>
        <MyGitRevision Condition="$(MyGitHead.StartsWith(ref: )) And !Exists('$(MyGitRoot)/.git/$(MyGitHead.Substring(5))')">$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText($(MyGitRoot)/.git/packed-refs)), '[0-9a-fA-F]{40,}.*$(MyGitHead.Substring(5))').Value.Substring(0, 7))</MyGitRevision>
        <MyGitRevision Condition="!$(MyGitHead.StartsWith(ref: ))">$(MyGitHead.Substring(0, 7))</MyGitRevision>

        <MyProductName>WinFsp</MyProductName>
        <MyDescription>Windows File System Proxy</MyDescription>
        <MyCompanyName>Navimatics LLC</MyCompanyName>
        <MyCopyright>2015-$([System.DateTime]::Now.ToString(`yyyy`)) Bill Zissimopoulos</MyCopyright>

        <MyCanonicalVersion>1.5</MyCanonicalVersion>

        <MyProductVersion>2019.3 B2</MyProductVersion>
        <MyProductStage>Beta</MyProductStage>

        <MyVersion>$(MyCanonicalVersion).$(MyBuildNumber)</MyVersion>
        <MyVersionWithCommas>$(MyVersion.Replace('.',',')),0</MyVersionWithCommas>
        <MyFullVersion>$(MyCanonicalVersion).$(MyBuildNumber).$(MyGitRevision)</MyFullVersion>

        <MyAssemblyPolicyVersion>$(MyCanonicalVersion.Substring(0,$(MyVersion.IndexOf('.')))).0</MyAssemblyPolicyVersion>
        <MyAssemblyVersion>$(MyAssemblyPolicyVersion).0.0</MyAssemblyVersion>
    </PropertyGroup>

    <ItemDefinitionGroup>
        <ClCompile>
            <PreprocessorDefinitions>NTDDI_VERSION=0x06010000;_WIN32_WINNT=0x0601</PreprocessorDefinitions>
        </ClCompile>
        <ResourceCompile>
            <PreprocessorDefinitions>MyProductName=$(MyProductName);MyDescription=$(MyDescription);MyCompanyName=$(MyCompanyName);MyCopyright=$(MyCopyright);MyProductVersion=$(MyProductVersion);MyProductStage=$(MyProductStage);MyVersion=$(MyVersion);MyVersionWithCommas=$(MyVersionWithCommas);MyFullVersion=$(MyFullVersion)</PreprocessorDefinitions>
        </ResourceCompile>
    </ItemDefinitionGroup>
    <ItemDefinitionGroup Condition="'$(DefaultPlatformToolset)'=='v140'">
        <Link>
            <GenerateDebugInformation>true</GenerateDebugInformation>
        </Link>
    </ItemDefinitionGroup>
    <ItemDefinitionGroup Condition="'$(DefaultPlatformToolset)'!='v140'">
        <Link>
            <GenerateDebugInformation>DebugFull</GenerateDebugInformation>
        </Link>
    </ItemDefinitionGroup>
    <PropertyGroup>
        <SpectreMitigation>false</SpectreMitigation>
    </PropertyGroup>
</Project>