<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="DownloadUrl">
    <PropertyGroup>
        <SchemaVersion>2.0</SchemaVersion>
        <OutputType>Bundle</OutputType>
        
        <BootstrapConfiguration Condition="'$(BootstrapConfiguration)' == ''">Release</BootstrapConfiguration>
        <LinkerSuppressSpecificWarnings>1132;1135;1140</LinkerSuppressSpecificWarnings>
        <OutputName Condition="$(BuildForRelease)">$(OutputName)-$(PythonVersion)</OutputName>
        <OutputName Condition="!$(BuildForRelease)">$(OutputName)-$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber).$(RevisionNumber)</OutputName>
        <OutputName Condition="$(Platform) == 'x64'">$(OutputName)-amd64</OutputName>
        <OutputName Condition="'$(OutputSuffix)' != ''">$(OutputName)-$(OutputSuffix)</OutputName>
        <OutputName Condition="'$(Configuration)' == 'Debug'">$(OutputName)-d</OutputName>
        <TargetName>$(OutputName)</TargetName>

        <OutputPath>$(OutputPath)en-us\</OutputPath>
        <OutDir>$(OutputPath)</OutDir>
        
        <!-- See Tools/msi/buildrelease.bat for help on configuring the download URL -->
        <DownloadUrl Condition="'$(DownloadUrl)' == '' and '$(DownloadUrlBase)' != ''">$(DownloadUrlBase.TrimEnd(`/`))/{version}/{arch}{releasename}/{msi}</DownloadUrl>
        <DefineConstants Condition="'$(DownloadUrl)' != ''">$(DefineConstants);DownloadUrl=$(DownloadUrl.Replace(`{version}`, `$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)`).Replace(`{arch}`, `$(ArchName)`).Replace(`{releasename}`, `$(ReleaseLevelName)`).Replace(`{msi}`, `{2}`))</DefineConstants>
        <DefineConstants Condition="'$(DownloadUrl)' == ''">$(DefineConstants);DownloadUrl={2}</DefineConstants>
    </PropertyGroup>
    
    <ItemGroup>
        <WixExtension Include="WixUtilExtension">
            <HintPath>WixUtilExtension</HintPath>
            <Name>WixUtilExtension</Name>
        </WixExtension>
        <WixExtension Include="WixDependencyExtension">
            <HintPath>WixDependencyExtension</HintPath>
            <Name>WixDependencyExtension</Name>
        </WixExtension>
        <WixExtension Include="WixBalExtension">
            <HintPath>WixBalExtension</HintPath>
            <Name>WixBalExtension</Name>
        </WixExtension>
    </ItemGroup>
    <ItemGroup>
        <Compile Include="bundle.wxs" />
        <Compile Include="packagegroups\*.wxs" />
    </ItemGroup>
    <ItemGroup>
        <Content Include="Default.thm" />
        <Content Include="Default.wxl" />
        <Content Include="SideBar.png" />
    </ItemGroup>
    <ItemGroup>
        <EmbeddedResource Include="bundle.wxl" />
        <WxlTemplate Include="*_en-US.wxl_template" />
    </ItemGroup>
    <ItemGroup>
        <LinkerBindInputPaths Include="$(OutputPath)">
            <BindName></BindName>
        </LinkerBindInputPaths>
    </ItemGroup>
    
    <ItemDefinitionGroup>
        <Package>
            <Properties>BuildForRelease=$(BuildForRelease)</Properties>
        </Package>
    </ItemDefinitionGroup>
    <ItemGroup>
        <Package Include="..\core\core*.wixproj" />
        <Package Include="..\dev\dev*.wixproj" />
        <Package Include="..\doc\doc*.wixproj" />
        <Package Include="..\exe\exe*.wixproj" />
        <Package Include="..\lib\lib*.wixproj" />
        <Package Include="..\path\path*.wixproj" />
        <Package Include="..\pip\pip*.wixproj" />
        <Package Include="..\tcltk\tcltk*.wixproj" />
        <Package Include="..\test\test*.wixproj" />
        <Package Include="..\tools\tools*.wixproj" />
        <Package Include="..\ucrt\ucrt*.wixproj" />
    </ItemGroup>
    
    <PropertyGroup>
        <BuildPackagesTargets>Build</BuildPackagesTargets>
    </PropertyGroup>
    
    <Target Name="_SetRebuildTarget" BeforeTargets="BeforeRebuild">
        <PropertyGroup>
            <BuildPackagesTargets>Rebuild</BuildPackagesTargets>
        </PropertyGroup>
    </Target>
    
    <Target Name="BuildPackages" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">
        <MSBuild Projects="@(Package)" Targets="$(BuildPackagesTargets)" BuildInParallel="true" />
    </Target>
    
    <Target Name="BuildBootstrapApplication" BeforeTargets="BeforeBuild">
        <Message Text="Building bootstrap app" Importance="high" />
        
        <MSBuild Projects="bootstrap\pythonba.vcxproj"
                 Targets="Build;GetNativeTargetPath"
                 UseResultsCache="true"
                 Properties="Configuration=$(BootstrapConfiguration);Platform=Win32">
            <Output TaskParameter="TargetOutputs" PropertyName="BootstrapAppPath" />
        </MSBuild>
        
        <PropertyGroup>
            <DefineConstants>$(DefineConstants);BootstrapApp=$(BootstrapAppPath)</DefineConstants>
        </PropertyGroup>
    </Target>
    
    <Import Project="..\msi.targets" />
</Project>