summaryrefslogtreecommitdiffstats
path: root/Tools/msi/bundle/bundle.targets
blob: 7697af726bde21a5d25d6f01d314ef0288aa4821 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?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>

        <OutputPath>$(OutputPath)en-us\</OutputPath>
        <OutDir>$(OutputPath)</OutDir>
        
        <DownloadUrl Condition="'$(DownloadUrl)' == '' and '$(DownloadUrlBase)' != ''">$(DownloadUrlBase.TrimEnd(`/`))/$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)/$(ArchName)$(ReleaseLevelName)/</DownloadUrl>
        <DefineConstants Condition="'$(DownloadUrl)' != ''">$(DefineConstants);DownloadUrl=$(DownloadUrl){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>
        <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="..\crt\crt*.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" />
    </ItemGroup>
    
    <Target Name="BuildPackages" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">
        <MSBuild Projects="@(Package)" BuildInParallel="true" />
    </Target>
    
    <Target Name="BuildLauncher" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">
        <!-- Build the launcher MSI using Exec rather than MSBuild -->
        <Exec Command='msbuild ..\launcher\launcher.wixproj /p:Platform=x86 /p:OutputPath="$(BuildPath.TrimEnd(`\`))" /p:OutputSuffix=$(Platform) /p:BuildForRelease=$(BuildForRelease)'
              ContinueOnError="false" />
    </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>