Files
CMake/Tests/RunCMake/ExternalProject/CONFIGURE_HANDLED_BY_BUILD.cmake
T
Daan De Meyer 74fe16a292 Tests: Fix ExternalProject CONFIGURE_HANDLED_BY_BUILD on 1s filesystems
Following commit 7155e358c9 (ExternalProject: Add CONFIGURE_HANDLED_BY_BUILD
option, 2020-12-16, v3.20.0-rc1~168^2), modify the CONFIGURE_HANDLED_BY_BUILD
test to sleep 1.125 seconds to make sure the file timestamp is always
updated regardless of the resolution of the underlying filesystem.

Fixes: #21830
2021-02-22 11:17:20 -05:00

29 lines
916 B
CMake

include(ExternalProject)
# Given this setup, on the first build, both configure steps and both build
# steps will run. On a noop rebuild, only the build steps will run. Without
# CONFIGURE_HANDLED_BY_BUILD, the configure step of proj2 would also run on a
# noop rebuild.
ExternalProject_Add(proj1
DOWNLOAD_COMMAND ""
SOURCE_DIR ""
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E echo "Doing something"
# file(TIMESTAMP) gives back the timestamp in seconds so we sleep a second to
# make sure we get a different timestamp on the stamp file
BUILD_COMMAND ${CMAKE_COMMAND} -E sleep 1.125
INSTALL_COMMAND ""
BUILD_ALWAYS ON
STAMP_DIR "stamp"
)
ExternalProject_Add(proj2
DOWNLOAD_COMMAND ""
SOURCE_DIR ""
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E echo "Doing something"
BUILD_COMMAND ${CMAKE_COMMAND} -E sleep 1.125
INSTALL_COMMAND ""
CONFIGURE_HANDLED_BY_BUILD ON
DEPENDS proj1
STAMP_DIR "stamp"
)