Merge topic 'test-extproj-rebuild'

d267602944 Tests: Improve RunCMake.ExternalProject rebuild case robustness

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6971
This commit is contained in:
Brad King
2022-02-11 14:11:28 +00:00
committed by Kitware Robot
@@ -1,5 +1,12 @@
include(ExternalProject)
if(CMAKE_GENERATOR STREQUAL "Borland Makefiles" OR
CMAKE_GENERATOR STREQUAL "Watcom WMake")
set(fs_delay 3)
else()
set(fs_delay 1.125)
endif()
# 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
@@ -11,7 +18,7 @@ ExternalProject_Add(proj1
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
BUILD_COMMAND ${CMAKE_COMMAND} -E sleep ${fs_delay}
INSTALL_COMMAND ""
BUILD_ALWAYS ON
STAMP_DIR "stamp"
@@ -20,7 +27,7 @@ ExternalProject_Add(proj2
DOWNLOAD_COMMAND ""
SOURCE_DIR ""
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E echo "Doing something"
BUILD_COMMAND ${CMAKE_COMMAND} -E sleep 1.125
BUILD_COMMAND ${CMAKE_COMMAND} -E sleep ${fs_delay}
INSTALL_COMMAND ""
CONFIGURE_HANDLED_BY_BUILD ON
DEPENDS proj1