summaryrefslogtreecommitdiffstats
path: root/Tools/msi/bundle/bundle.targets
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/msi/bundle/bundle.targets')
-rw-r--r--Tools/msi/bundle/bundle.targets116
1 files changed, 116 insertions, 0 deletions
diff --git a/Tools/msi/bundle/bundle.targets b/Tools/msi/bundle/bundle.targets
new file mode 100644
index 0000000..aeeff3b
--- /dev/null
+++ b/Tools/msi/bundle/bundle.targets
@@ -0,0 +1,116 @@
+<?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" />
+ </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="BuildLauncher" BeforeTargets="BeforeBuild" Condition="'$(RebuildAll)' != 'false'">
+ <!--
+ Build the launcher MSI using Exec rather than MSBuild
+ Also, never use the test marker for the launcher. It's going to corrupt things anyway, so we'll
+ just disable it by default.
+ -->
+ <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'
+ 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> \ No newline at end of file