Skip to content

Commit 059f95b

Browse files
committed
Merge pull request micropython#633 from stinos/msvc-fix-genhdr-dep
msvc: Only update generated headers when there are changes
2 parents 97953f6 + 48d641e commit 059f95b

File tree

1 file changed

+11
-20
lines changed

1 file changed

+11
-20
lines changed

windows/msvc/genhdr.targets

+11-20
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,19 @@
1313
<MakeDir Directories="$(DestDir)"/>
1414
</Target>
1515

16-
<!--don't let regenerating these files trigger builds-->
17-
<UsingTask TaskName="MakeSameWriteTime" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
18-
<ParameterGroup>
19-
<SourceFile Required="true" ParameterType="System.String"/>
20-
<DestFile Required="true" ParameterType="System.String"/>
21-
</ParameterGroup>
22-
<Task>
23-
<Code Type="Fragment" Language="cs">
24-
<![CDATA[
25-
System.IO.File.SetLastWriteTime( DestFile, System.IO.File.GetLastWriteTime( SourceFile ) );
26-
]]>
27-
</Code>
28-
</Task>
29-
</UsingTask>
30-
3116
<!--see py/py.mk under #qstr data-->
3217
<Target Name="MakeQstrData" DependsOnTargets="MakeDestDir">
3318
<PropertyGroup>
3419
<PreProc>$(DestDir)qstrdefs.preprocessed.h</PreProc>
3520
<QstrDefs>$(MsBuildThisFileDirectory)..\..\unix\qstrdefsport.h</QstrDefs>
3621
<DestFile>$(DestDir)qstrdefs.generated.h</DestFile>
3722
</PropertyGroup>
38-
<Exec Command="cl /I$(SrcDir) /I$(MsBuildThisFileDirectory).. /Fi$(PreProc) /P $(SrcDir)qstrdefs.h"/>
39-
<Exec Command="python $(SrcDir)makeqstrdata.py $(PreProc) $(QstrDefs) > $(DestFile)"/>
40-
<MakeSameWriteTime SourceFile="$(MsBuildThisFile)" DestFile="$(DestFile)"/>
23+
<Exec Command="cl /nologo /I$(SrcDir) /I$(MsBuildThisFileDirectory).. /Fi$(PreProc) /P $(SrcDir)qstrdefs.h"/>
24+
<Exec Command="python $(SrcDir)makeqstrdata.py $(PreProc) $(QstrDefs) > $(DestFile).tmp"/>
25+
<Exec Command="fc /B $(DestFile).tmp $(DestFile) > NUL 2>&amp;1" IgnoreExitCode="true">
26+
<Output TaskParameter="ExitCode" PropertyName="FilesDiffer" />
27+
</Exec>
28+
<Copy SourceFiles="$(DestFile).tmp" DestinationFiles="$(DestFile)" Condition="'$(FilesDiffer)'!='0'"/>
4129
</Target>
4230

4331
<!--see py/py-version.sh-->
@@ -69,8 +57,11 @@
6957
<Lines Include="#define MICROPY_GIT_HASH &quot;$(GitHash)&quot;"/>
7058
<Lines Include="#define MICROPY_BUILD_DATE &quot;$([System.DateTime]::Now.ToString(`yyyy-MM-dd`))&quot;"/>
7159
</ItemGroup>
72-
<WriteLinesToFile Lines="@(Lines)" File="$(DestFile)" Overwrite="true"/>
73-
<MakeSameWriteTime SourceFile="$(MsBuildThisFile)" DestFile="$(DestFile)"/>
60+
<WriteLinesToFile Lines="@(Lines)" File="$(DestFile).tmp" Overwrite="true"/>
61+
<Exec Command="fc /B $(DestFile).tmp $(DestFile) > NUL 2>&amp;1" IgnoreExitCode="true">
62+
<Output TaskParameter="ExitCode" PropertyName="FilesDiffer" />
63+
</Exec>
64+
<Copy SourceFiles="$(DestFile).tmp" DestinationFiles="$(DestFile)" Condition="'$(FilesDiffer)'!='0'"/>
7465
</Target>
7566

7667
</Project>

0 commit comments

Comments
 (0)