summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/ExternalProject/MultiCommand.cmake
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2022-01-31 04:51:13 (GMT)
committerCraig Scott <craig.scott@crascit.com>2022-02-01 11:31:29 (GMT)
commitd3477eba067c22f7b2986caa573754fd2b84c8ef (patch)
tree6814377ab0fad90e069dd997753878baca9d5208 /Tests/RunCMake/ExternalProject/MultiCommand.cmake
parent4b033ca0eb486fa23f58e4df2f2a7d3539ca0a3f (diff)
downloadCMake-d3477eba067c22f7b2986caa573754fd2b84c8ef.zip
CMake-d3477eba067c22f7b2986caa573754fd2b84c8ef.tar.gz
CMake-d3477eba067c22f7b2986caa573754fd2b84c8ef.tar.bz2
ExternalProject: Rerun download on SOURCE_DIR change
Fixes: #21748
Diffstat (limited to 'Tests/RunCMake/ExternalProject/MultiCommand.cmake')
-rw-r--r--Tests/RunCMake/ExternalProject/MultiCommand.cmake12
1 files changed, 7 insertions, 5 deletions
diff --git a/Tests/RunCMake/ExternalProject/MultiCommand.cmake b/Tests/RunCMake/ExternalProject/MultiCommand.cmake
index 0849658..3e8bd94 100644
--- a/Tests/RunCMake/ExternalProject/MultiCommand.cmake
+++ b/Tests/RunCMake/ExternalProject/MultiCommand.cmake
@@ -1,5 +1,12 @@
include(ExternalProject)
+# Force all steps to be re-run by removing timestamps from any previous run.
+# This has to happen before we call ExternalProject_Add() because that command
+# writes some files to the stamp directory for recording repository details.
+set(STAMP_DIR ${CMAKE_BINARY_DIR}/multiCommand-prefix/src/multiCommand-stamp)
+file(REMOVE_RECURSE "${STAMP_DIR}")
+file(MAKE_DIRECTORY "${STAMP_DIR}")
+
# Verify COMMAND keyword is recognized after various *_COMMAND options
ExternalProject_Add(multiCommand
DOWNLOAD_COMMAND "${CMAKE_COMMAND}" -E echo "download 1"
@@ -17,8 +24,3 @@ ExternalProject_Add(multiCommand
INSTALL_COMMAND "${CMAKE_COMMAND}" -E echo "install 1"
COMMAND "${CMAKE_COMMAND}" -E echo "install 2"
)
-
-# Force all steps to be re-run by removing timestamps from any previous run
-ExternalProject_Get_Property(multiCommand STAMP_DIR)
-file(REMOVE_RECURSE "${STAMP_DIR}")
-file(MAKE_DIRECTORY "${STAMP_DIR}")