msvc: fix PCH staleness

This commit is contained in:
Nicolas Schneider 2019-01-27 15:10:59 +01:00
parent 2044bc53b3
commit 3cbc7c7bd9
1 changed files with 8 additions and 1 deletions

View File

@ -2191,7 +2191,14 @@ rule FORTRAN_DEP_HACK%s
elif not self.has_dir_part(d):
d = os.path.join(self.get_target_private_dir(target), d)
element.add_orderdep(d)
element.add_orderdep(pch_dep)
if compiler.id == 'msvc':
# MSVC does not show includes coming from the PCH with '/showIncludes',
# thus we must add an implicit dependency to the generated PCH.
element.add_dep(pch_dep)
else:
# All other compilers properly handle includes through the PCH, so only an
# orderdep is needed to make the initial build without depfile work.
element.add_orderdep(pch_dep)
# Convert from GCC-style link argument naming to the naming used by the
# current compiler.
commands = commands.to_native()