Steve Dower | bb24087 | 2015-02-05 22:08:48 -0800 | [diff] [blame] | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| 3 | |
| 4 | <Target Name="ProcessInstallFiles" AfterTargets="PrepareForBuild" Condition="@(InstallFiles) != ''"> |
| 5 | <PropertyGroup> |
| 6 | <_FileListTarget>$(IntermediateOutputPath)$(MSBuildProjectName).g.csv</_FileListTarget> |
| 7 | <_InstallFilesTarget>$(IntermediateOutputPath)$(MSBuildProjectName).g.wxs</_InstallFilesTarget> |
| 8 | </PropertyGroup> |
| 9 | |
| 10 | <ItemGroup> |
| 11 | <InstallFiles> |
| 12 | <_Source>%(Source)$([msbuild]::MakeRelative(%(SourceBase), %(FullPath)))</_Source> |
| 13 | <_Target>%(Target_)$([msbuild]::MakeRelative(%(TargetBase), %(FullPath)))</_Target> |
| 14 | </InstallFiles> |
Steve Dower | 425ec15 | 2016-10-09 20:18:52 -0700 | [diff] [blame] | 15 | |
| 16 | <_CatalogFiles Include="@(InstallFiles)" Condition="%(InstallFiles.IncludeInCat) and ''!=$([System.IO.File]::ReadAllText(%(InstallFiles.FullPath)))" /> |
Steve Dower | bb24087 | 2015-02-05 22:08:48 -0800 | [diff] [blame] | 17 | </ItemGroup> |
Steve Dower | 425ec15 | 2016-10-09 20:18:52 -0700 | [diff] [blame] | 18 | |
Steve Dower | bb24087 | 2015-02-05 22:08:48 -0800 | [diff] [blame] | 19 | <WriteLinesToFile File="$(_FileListTarget)" Lines="@(InstallFiles->'"%(_Source)","%(_Target)","%(Group)","%(DiskId)","%(Condition)"')" Overwrite="true" /> |
| 20 | <Exec Command='"$(PythonExe)" csv_to_wxs.py "$(_FileListTarget)" "$(_InstallFilesTarget)"' |
| 21 | WorkingDirectory="$(MSBuildThisFileDirectory)" /> |
| 22 | |
| 23 | <ItemGroup> |
| 24 | <FileWrites Include="$(_FileListTarget);$(_InstallFilesTarget)" /> |
| 25 | <Compile Include="$(_InstallFilesTarget)" /> |
| 26 | </ItemGroup> |
| 27 | </Target> |
| 28 | |
Steve Dower | 425ec15 | 2016-10-09 20:18:52 -0700 | [diff] [blame] | 29 | <Target Name="GenerateCatalog" AfterTargets="ProcessInstallFiles" Condition="'@(_CatalogFiles)' != ''"> |
| 30 | <PropertyGroup> |
| 31 | <_CatFileSourceTarget>$(IntermediateOutputPath)$(MSBuildProjectName).cdf</_CatFileSourceTarget> |
| 32 | <_CatFileTarget>$(IntermediateOutputPath)python_$(MSBuildProjectName).cat</_CatFileTarget> |
| 33 | <_CatFile>[CatalogHeader] |
| 34 | Name=$([System.IO.Path]::GetFileName($(_CatFileTarget))) |
| 35 | ResultDir=$([System.IO.Path]::GetDirectoryName($(_CatFileTarget))) |
| 36 | PublicVersion=1 |
| 37 | CatalogVersion=2 |
| 38 | HashAlgorithms=SHA256 |
| 39 | PageHashes=false |
| 40 | EncodingType= |
| 41 | |
| 42 | [CatalogFiles] |
| 43 | @(_CatalogFiles->'<HASH>%(Filename)%(Extension)=%(FullPath)',' |
| 44 | ') |
| 45 | </_CatFile> |
| 46 | </PropertyGroup> |
| 47 | |
| 48 | <WriteLinesToFile File="$(_CatFileSourceTarget)" Lines="$(_CatFile)" Overwrite="true" /> |
| 49 | <Exec Command='$(_MakeCatCommand) "$(_CatFileSourceTarget)"' WorkingDirectory="$(MSBuildThisFileDirectory)" /> |
| 50 | <Exec Command='$(_SignCommand) "$(_CatFileTarget)"' WorkingDirectory="$(MSBuildThisFileDirectory)" |
| 51 | Condition="Exists($(_CatFileTarget)) and '$(_SignCommand)' != ''" /> |
| 52 | |
| 53 | <ItemGroup> |
| 54 | <FileWrites Include="$(_CatFileSourceTarget);$(_CatFileTarget)" /> |
| 55 | </ItemGroup> |
| 56 | </Target> |
| 57 | |
Steve Dower | d423396 | 2015-07-05 07:24:17 -0700 | [diff] [blame] | 58 | <Target Name="_TransformWxlTemplates" AfterTargets="PrepareForBuild" Inputs="@(WxlTemplate);$(PySourcePath)include\patchlevel.h" Outputs="$(IntermediateOutputPath)%(Filename).wxl"> |
Steve Dower | 4962141 | 2016-05-18 15:54:05 -0700 | [diff] [blame] | 59 | <PropertyGroup Condition="'@(WxlTemplate)' != ''"> |
Steve Dower | 940f6a8 | 2015-10-31 12:17:11 -0700 | [diff] [blame] | 60 | <_Content>$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)$(PyTestExt)`).Replace(`{{LongVersion}}`, `$(PythonVersion)$(PyTestExt)`).Replace(`{{Bitness}}`, `$(Bitness)`))</_Content> |
Steve Dower | bb24087 | 2015-02-05 22:08:48 -0800 | [diff] [blame] | 61 | <_ExistingContent Condition="Exists('$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl')">$([System.IO.File]::ReadAllText($(IntermediateOutputPath)%(WxlTemplate.Filename).wxl))</_ExistingContent> |
| 62 | </PropertyGroup> |
| 63 | |
| 64 | <WriteLinesToFile File="$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl" |
| 65 | Lines="$(_Content)" |
| 66 | Overwrite="true" |
| 67 | Condition="$(_Content) != $(_ExistingContent)" /> |
| 68 | |
Steve Dower | 4962141 | 2016-05-18 15:54:05 -0700 | [diff] [blame] | 69 | <ItemGroup Condition="'@(WxlTemplate)' != ''"> |
Steve Dower | bb24087 | 2015-02-05 22:08:48 -0800 | [diff] [blame] | 70 | <EmbeddedResource Include="$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl" /> |
| 71 | <FileWrites Include="$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl" /> |
| 72 | </ItemGroup> |
| 73 | </Target> |
| 74 | |
| 75 | <Import Project="$(WixTargetsPath)" /> |
| 76 | |
| 77 | <Target Name="SignCabs"> |
| 78 | <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" /> |
| 79 | <Exec Command="$(_SignCommand) @(SignCabs->'"%(FullPath)"',' ')" ContinueOnError="false" /> |
| 80 | </Target> |
| 81 | <Target Name="SignMsi"> |
| 82 | <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" /> |
| 83 | <Exec Command="$(_SignCommand) @(SignMsi->'"%(FullPath)"',' ')" ContinueOnError="false" /> |
| 84 | </Target> |
| 85 | <Target Name="SignBundleEngine"> |
| 86 | <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" /> |
| 87 | <Exec Command="$(_SignCommand) @(SignBundleEngine->'"%(FullPath)"',' ')" ContinueOnError="false" /> |
| 88 | </Target> |
| 89 | <Target Name="SignBundle"> |
| 90 | <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" /> |
| 91 | <Exec Command="$(_SignCommand) @(SignBundle->'"%(FullPath)"',' ')" ContinueOnError="false" /> |
| 92 | </Target> |
| 93 | </Project> |