mirror of
https://github.com/stenzek/duckstation.git
synced 2026-10-11 22:49:58 +00:00
MSBuild: Improve reproducibility
Pin mtime of rcc timestamps.
This commit is contained in:
@@ -41,7 +41,7 @@
|
|||||||
<ExceptionHandling>false</ExceptionHandling>
|
<ExceptionHandling>false</ExceptionHandling>
|
||||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||||
<AdditionalOptions Condition="$(Configuration.Contains(Clang))">/clang:-fno-rtti %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions Condition="$(Configuration.Contains(Clang))">/clang:-fno-rtti %(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalOptions Condition="!$(Configuration.Contains(Clang)) And $(Configuration.Contains(ReleaseLTCG))">/d1trimfile:"$(SolutionDir)\" %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions Condition="!$(Configuration.Contains(Clang)) And $(Configuration.Contains(ReleaseLTCG))">/d1trimfile:"$(SolutionDir)\" /Brepro %(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalOptions Condition="$(Configuration.Contains(Clang)) And $(Configuration.Contains(ReleaseLTCG))">/clang:-ffile-prefix-map="$(SolutionDir)\"= %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions Condition="$(Configuration.Contains(Clang)) And $(Configuration.Contains(ReleaseLTCG))">/clang:-ffile-prefix-map="$(SolutionDir)\"= %(AdditionalOptions)</AdditionalOptions>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
@@ -49,6 +49,9 @@
|
|||||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(DepsLibDir)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(DepsLibDir)</AdditionalLibraryDirectories>
|
||||||
<AdditionalOptions Condition="$(Configuration.Contains(ReleaseLTCG))">/PDBALTPATH:%_PDB% /Brepro %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions Condition="$(Configuration.Contains(ReleaseLTCG))">/PDBALTPATH:%_PDB% /Brepro %(AdditionalOptions)</AdditionalOptions>
|
||||||
</Link>
|
</Link>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions Condition="!$(Configuration.Contains(Clang)) And $(Configuration.Contains(ReleaseLTCG))">/Brepro %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
</Lib>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
||||||
<ItemDefinitionGroup Condition="$(Configuration.Contains(Debug))">
|
<ItemDefinitionGroup Condition="$(Configuration.Contains(Debug))">
|
||||||
|
|||||||
@@ -100,7 +100,26 @@
|
|||||||
<Output TaskParameter="OutOfDateSources" ItemName="_QtResourceOutOfDate" />
|
<Output TaskParameter="OutOfDateSources" ItemName="_QtResourceOutOfDate" />
|
||||||
</GetOutOfDateItems>
|
</GetOutOfDateItems>
|
||||||
<Message Condition="'@(_QtResourceOutOfDate)'!=''" Text="rcc %(_QtResourceOutOfDate.Filename)" Importance="High" />
|
<Message Condition="'@(_QtResourceOutOfDate)'!=''" Text="rcc %(_QtResourceOutOfDate.Filename)" Importance="High" />
|
||||||
<Exec Condition="'@(_QtResourceOutOfDate)'!=''" Command="%(_QtResourceOutOfDate.Command)" />
|
<!-- rcc stamps every entry with the mtime of its source file, i.e. the checkout time. Pin it to the commit date instead. -->
|
||||||
|
<Exec
|
||||||
|
Condition="'@(_QtResourceOutOfDate)'!='' And '$(SOURCE_DATE_EPOCH)'==''"
|
||||||
|
Command="git -C "$(SolutionDir)." log -1 --format=%25%25ct"
|
||||||
|
ConsoleToMSBuild="true"
|
||||||
|
IgnoreExitCode="true"
|
||||||
|
IgnoreStandardErrorWarningFormat="true"
|
||||||
|
StandardOutputImportance="Low"
|
||||||
|
StandardErrorImportance="Low">
|
||||||
|
<Output TaskParameter="ConsoleOutput" PropertyName="_QtResourceCommitDate" />
|
||||||
|
<Output TaskParameter="ExitCode" PropertyName="_QtResourceCommitDateExitCode" />
|
||||||
|
</Exec>
|
||||||
|
<PropertyGroup>
|
||||||
|
<_QtResourceSourceDate>$(SOURCE_DATE_EPOCH)</_QtResourceSourceDate>
|
||||||
|
<_QtResourceSourceDate Condition="'$(_QtResourceSourceDate)'=='' And '$(_QtResourceCommitDateExitCode)'=='0'">$(_QtResourceCommitDate)</_QtResourceSourceDate>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Exec
|
||||||
|
Condition="'@(_QtResourceOutOfDate)'!=''"
|
||||||
|
Command="%(_QtResourceOutOfDate.Command)"
|
||||||
|
EnvironmentVariables="SOURCE_DATE_EPOCH=$(_QtResourceSourceDate)" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<_QtResourceOutOfDate Remove="@(_QtResourceOutOfDate)" />
|
<_QtResourceOutOfDate Remove="@(_QtResourceOutOfDate)" />
|
||||||
<_QtResourceDependency Remove="@(_QtResourceDependency)" />
|
<_QtResourceDependency Remove="@(_QtResourceDependency)" />
|
||||||
|
|||||||
Reference in New Issue
Block a user