blob: 9b7d09015fdd3ac25f0aa033fc32fcbefbdb46a2 [file] [log] [blame]
Steve Dowerbb240872015-02-05 22:08:48 -08001<?xml version="1.0" encoding="utf-8"?>
Steve Dower3468a062015-02-06 09:59:05 -08002<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="DownloadUrl">
Steve Dowerbb240872015-02-05 22:08:48 -08003 <PropertyGroup>
4 <SchemaVersion>2.0</SchemaVersion>
5 <OutputType>Bundle</OutputType>
6
7 <BootstrapConfiguration Condition="'$(BootstrapConfiguration)' == ''">Release</BootstrapConfiguration>
8 <LinkerSuppressSpecificWarnings>1132;1135;1140</LinkerSuppressSpecificWarnings>
9 <OutputName Condition="$(BuildForRelease)">$(OutputName)-$(PythonVersion)</OutputName>
10 <OutputName Condition="!$(BuildForRelease)">$(OutputName)-$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber).$(RevisionNumber)</OutputName>
11 <OutputName Condition="$(Platform) == 'x64'">$(OutputName)-amd64</OutputName>
12 <OutputName Condition="'$(OutputSuffix)' != ''">$(OutputName)-$(OutputSuffix)</OutputName>
Steve Dowere4969f52015-02-28 19:53:50 -080013 <OutputName Condition="'$(Configuration)' == 'Debug'">$(OutputName)-d</OutputName>
14 <TargetName>$(OutputName)</TargetName>
Steve Dowerbb240872015-02-05 22:08:48 -080015
16 <OutputPath>$(OutputPath)en-us\</OutputPath>
17 <OutDir>$(OutputPath)</OutDir>
18
Steve Dowerc4b76002015-10-01 15:18:53 -070019 <!-- See Tools/msi/buildrelease.bat for help on configuring the download URL -->
20 <DownloadUrl Condition="'$(DownloadUrl)' == '' and '$(DownloadUrlBase)' != ''">$(DownloadUrlBase.TrimEnd(`/`))/{version}/{arch}{releasename}/{msi}</DownloadUrl>
21 <DefineConstants Condition="'$(DownloadUrl)' != ''">$(DefineConstants);DownloadUrl=$(DownloadUrl.Replace(`{version}`, `$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)`).Replace(`{arch}`, `$(ArchName)`).Replace(`{releasename}`, `$(ReleaseName)`).Replace(`{msi}`, `{2}`))</DefineConstants>
Steve Dowerbb240872015-02-05 22:08:48 -080022 <DefineConstants Condition="'$(DownloadUrl)' == ''">$(DefineConstants);DownloadUrl={2}</DefineConstants>
23 </PropertyGroup>
24
25 <ItemGroup>
26 <WixExtension Include="WixUtilExtension">
27 <HintPath>WixUtilExtension</HintPath>
28 <Name>WixUtilExtension</Name>
29 </WixExtension>
30 <WixExtension Include="WixDependencyExtension">
31 <HintPath>WixDependencyExtension</HintPath>
32 <Name>WixDependencyExtension</Name>
33 </WixExtension>
34 <WixExtension Include="WixBalExtension">
35 <HintPath>WixBalExtension</HintPath>
36 <Name>WixBalExtension</Name>
37 </WixExtension>
38 </ItemGroup>
39 <ItemGroup>
40 <Compile Include="bundle.wxs" />
41 <Compile Include="packagegroups\*.wxs" />
42 </ItemGroup>
43 <ItemGroup>
44 <Content Include="Default.thm" />
45 <Content Include="Default.wxl" />
46 <Content Include="SideBar.png" />
47 </ItemGroup>
48 <ItemGroup>
Steve Dowere4969f52015-02-28 19:53:50 -080049 <EmbeddedResource Include="bundle.wxl" />
Steve Dowerbb240872015-02-05 22:08:48 -080050 <WxlTemplate Include="*_en-US.wxl_template" />
51 </ItemGroup>
52 <ItemGroup>
53 <LinkerBindInputPaths Include="$(OutputPath)">
54 <BindName></BindName>
55 </LinkerBindInputPaths>
56 </ItemGroup>
57
58 <ItemDefinitionGroup>
59 <Package>
60 <Properties>BuildForRelease=$(BuildForRelease)</Properties>
61 </Package>
62 </ItemDefinitionGroup>
63 <ItemGroup>
64 <Package Include="..\core\core*.wixproj" />
Steve Dowerbb240872015-02-05 22:08:48 -080065 <Package Include="..\dev\dev*.wixproj" />
66 <Package Include="..\doc\doc*.wixproj" />
67 <Package Include="..\exe\exe*.wixproj" />
68 <Package Include="..\lib\lib*.wixproj" />
69 <Package Include="..\path\path*.wixproj" />
70 <Package Include="..\pip\pip*.wixproj" />
71 <Package Include="..\tcltk\tcltk*.wixproj" />
72 <Package Include="..\test\test*.wixproj" />
73 <Package Include="..\tools\tools*.wixproj" />
74 </ItemGroup>
75
Steve Dowerb85b4272015-07-08 22:43:48 -070076 <PropertyGroup>
77 <BuildPackagesTargets>Build</BuildPackagesTargets>
78 </PropertyGroup>
79
80 <Target Name="_SetRebuildTarget" BeforeTargets="BeforeRebuild">
81 <PropertyGroup>
82 <BuildPackagesTargets>Rebuild</BuildPackagesTargets>
83 </PropertyGroup>
84 </Target>
85
Steve Dowerbb240872015-02-05 22:08:48 -080086 <Target Name="BuildPackages" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">
Steve Dowerb85b4272015-07-08 22:43:48 -070087 <MSBuild Projects="@(Package)" Targets="$(BuildPackagesTargets)" BuildInParallel="true" />
Steve Dowerbb240872015-02-05 22:08:48 -080088 </Target>
89
90 <Target Name="BuildLauncher" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">
91 <!-- Build the launcher MSI using Exec rather than MSBuild -->
Steve Dowerc4b76002015-10-01 15:18:53 -070092 <Exec Command='msbuild ..\launcher\launcher.wixproj /p:Platform=x86 /p:ReleaseUri="$(ReleaseUri)" /p:OutputPath="$(BuildPath.TrimEnd(`\`))" /p:OutputSuffix=$(Platform) /p:BuildForRelease=$(BuildForRelease) /p:UseTestMarker=$(UseTestMarker)'
Steve Dowerbb240872015-02-05 22:08:48 -080093 ContinueOnError="false" />
94 </Target>
95
96 <Target Name="BuildBootstrapApplication" BeforeTargets="BeforeBuild">
97 <Message Text="Building bootstrap app" Importance="high" />
98
99 <MSBuild Projects="bootstrap\pythonba.vcxproj"
100 Targets="Build;GetNativeTargetPath"
101 UseResultsCache="true"
102 Properties="Configuration=$(BootstrapConfiguration);Platform=Win32">
103 <Output TaskParameter="TargetOutputs" PropertyName="BootstrapAppPath" />
104 </MSBuild>
105
106 <PropertyGroup>
107 <DefineConstants>$(DefineConstants);BootstrapApp=$(BootstrapAppPath)</DefineConstants>
108 </PropertyGroup>
109 </Target>
110
111 <Import Project="..\msi.targets" />
112</Project>