blob: 57ca1dcfe1bb4a11b2f81ae5820dc535b680254e [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'">
Steve Dower940f6a82015-10-31 12:17:11 -070091 <!--
92 Build the launcher MSI using Exec rather than MSBuild
93 Also, never use the test marker for the launcher. It's going to corrupt things anyway, so we'll
94 just disable it by default.
95 -->
96 <Exec Command='msbuild ..\launcher\launcher.wixproj /p:Platform=x86 /p:ReleaseUri="$(ReleaseUri)" /p:OutputPath="$(BuildPath.TrimEnd(`\`))" /p:OutputSuffix=$(Platform) /p:BuildForRelease=$(BuildForRelease) /p:UseTestMarker=false'
Steve Dowerbb240872015-02-05 22:08:48 -080097 ContinueOnError="false" />
98 </Target>
99
100 <Target Name="BuildBootstrapApplication" BeforeTargets="BeforeBuild">
101 <Message Text="Building bootstrap app" Importance="high" />
102
103 <MSBuild Projects="bootstrap\pythonba.vcxproj"
104 Targets="Build;GetNativeTargetPath"
105 UseResultsCache="true"
106 Properties="Configuration=$(BootstrapConfiguration);Platform=Win32">
107 <Output TaskParameter="TargetOutputs" PropertyName="BootstrapAppPath" />
108 </MSBuild>
109
110 <PropertyGroup>
111 <DefineConstants>$(DefineConstants);BootstrapApp=$(BootstrapAppPath)</DefineConstants>
112 </PropertyGroup>
113 </Target>
114
115 <Import Project="..\msi.targets" />
116</Project>