Tests: Work around filesystem timestamp bugs in RunCMake.BuildDepends

The Custom-Symbolic-and-Byproduct case fails strangely on some
filesystems used by our nightly testing.  Somehow on the first build the
`use-byproduct` output ends up with a timestamp older than
`gen-byproduct-stamp` even though the build log clearly shows them build
in the correct order (and must according to build system dependencies).
Work around this problem by adding an extra delay before building
`use-byproduct`.

Tested-by: Gerhard Grimm <gerhard.grimm@detec.com>
This commit is contained in:
Brad King 2016-04-06 13:40:10 -04:00
parent add7abc835
commit f5e79004e2
1 changed files with 1 additions and 0 deletions

View File

@ -10,6 +10,7 @@ add_custom_target(produce DEPENDS gen-byproduct)
add_custom_command( add_custom_command(
OUTPUT use-byproduct OUTPUT use-byproduct
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/byproduct DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/byproduct
COMMAND ${CMAKE_COMMAND} -E sleep 1.125 # workaround buggy filesystem timestamps
COMMAND ${CMAKE_COMMAND} -E touch use-byproduct COMMAND ${CMAKE_COMMAND} -E touch use-byproduct
) )
add_custom_target(drive ALL DEPENDS use-byproduct) add_custom_target(drive ALL DEPENDS use-byproduct)