| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?xml version="1.0" encoding="utf-8"?>
- <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <!-- Update AdditionalInputs with depfile-discovered inputs. -->
- <Target Name="CMakeCustomBuildDepFileAdditionalInputs" BeforeTargets="CustomBuild" Condition="'@(CustomBuild)' != ''">
- <ItemGroup>
- <!-- Save original AdditionalInputs generated by CMake. -->
- <CustomBuild>
- <CMakeAdditionalInputs>%(CustomBuild.AdditionalInputs)</CMakeAdditionalInputs>
- </CustomBuild>
- <!-- Read depfile-discovered inputs. -->
- <CustomBuild Condition="Exists('%(CustomBuild.DepFileAdditionalInputsFile)')">
- <DepFileAdditionalInputs>$([System.IO.File]::ReadAllText('%(CustomBuild.DepFileAdditionalInputsFile)').TrimEnd())</DepFileAdditionalInputs>
- </CustomBuild>
- <!-- Add depfile-discovered inputs to AdditionalInputs. -->
- <CustomBuild Condition="'%(CustomBuild.DepFileAdditionalInputs)' != ''">
- <AdditionalInputs Condition="'%(CustomBuild.AdditionalInputs)' == ''">%(CustomBuild.DepFileAdditionalInputs)</AdditionalInputs>
- <AdditionalInputs Condition="'%(CustomBuild.AdditionalInputs)' != ''">%(CustomBuild.AdditionalInputs);%(CustomBuild.DepFileAdditionalInputs)</AdditionalInputs>
- </CustomBuild>
- </ItemGroup>
- </Target>
- <!-- Update the tracking log with depfile-discovered inputs. -->
- <Target Name="CMakeCustomBuildDepFileTrackingLog" AfterTargets="CustomBuild" Condition="'@(CustomBuild)' != ''">
- <!-- Compute the tracking log content for each CustomBuild item individually. -->
- <ItemGroup>
- <!-- Read depfile-discovered inputs. -->
- <CustomBuild Condition="Exists('%(CustomBuild.DepFileAdditionalInputsFile)')">
- <DepFileAdditionalInputs>$([System.IO.File]::ReadAllText('%(CustomBuild.DepFileAdditionalInputsFile)').TrimEnd())</DepFileAdditionalInputs>
- </CustomBuild>
- <!-- Generate tracking log representation of all inputs. -->
- <CustomBuild>
- <ReadTLog>^%(CustomBuild.Identity)
</ReadTLog>
- </CustomBuild>
- <CustomBuild Condition="'%(CustomBuild.CMakeAdditionalInputs)' != ''">
- <ReadTLog>%(ReadTLog)$([System.String]::Copy('%(CustomBuild.CMakeAdditionalInputs)').Trim(';').Replace(';', '
'))
</ReadTLog>
- </CustomBuild>
- <CustomBuild Condition="'%(CustomBuild.DepFileAdditionalInputs)' != ''">
- <ReadTLog>%(ReadTLog)$([System.String]::Copy('%(CustomBuild.DepFileAdditionalInputs)').Trim(';').Replace(';', '
'))
</ReadTLog>
- </CustomBuild>
- </ItemGroup>
- <!-- Compute the combined tracking log for all CustomBuild items together. -->
- <PropertyGroup>
- <CustomBuildReadTLog>@(CustomBuild->'%(ReadTLog)','')</CustomBuildReadTLog>
- </PropertyGroup>
- <!-- Replace the combined tracking log on disk. -->
- <WriteLinesToFile File="$(TLogLocation)CustomBuild.read.1.tlog" Overwrite="true" Lines="$(CustomBuildReadTLog.ToUpper())" />
- </Target>
- </Project>
|