diff --git a/Tests/RunCMake/Configure/RerunCMake-build5-check.cmake b/Tests/RunCMake/Configure/RerunCMake-build5-check.cmake deleted file mode 100644 index d740671b07..0000000000 --- a/Tests/RunCMake/Configure/RerunCMake-build5-check.cmake +++ /dev/null @@ -1,4 +0,0 @@ -file(READ ${stamp} content) -if(NOT content STREQUAL 5) - set(RunCMake_TEST_FAILED "Expected stamp '5' but got: '${content}'") -endif() diff --git a/Tests/RunCMake/Configure/RerunCMakeNinja-build1-check.cmake b/Tests/RunCMake/Configure/RerunCMakeNinja-build1-check.cmake new file mode 100644 index 0000000000..3fb557fba6 --- /dev/null +++ b/Tests/RunCMake/Configure/RerunCMakeNinja-build1-check.cmake @@ -0,0 +1,4 @@ +file(READ ${stamp} content) +if(NOT content STREQUAL 1) + set(RunCMake_TEST_FAILED "Expected stamp '1' but got: '${content}'") +endif() diff --git a/Tests/RunCMake/Configure/RerunCMakeNinja.cmake b/Tests/RunCMake/Configure/RerunCMakeNinja.cmake new file mode 100644 index 0000000000..da0131f76a --- /dev/null +++ b/Tests/RunCMake/Configure/RerunCMakeNinja.cmake @@ -0,0 +1,4 @@ +set(input ${CMAKE_CURRENT_BINARY_DIR}/input.txt) +set(stamp ${CMAKE_CURRENT_BINARY_DIR}/stamp.txt) +file(READ ${input} content) +file(WRITE ${stamp} "${content}") diff --git a/Tests/RunCMake/Configure/RunCMakeTest.cmake b/Tests/RunCMake/Configure/RunCMakeTest.cmake index 57cf947b6b..b29640a411 100644 --- a/Tests/RunCMake/Configure/RunCMakeTest.cmake +++ b/Tests/RunCMake/Configure/RunCMakeTest.cmake @@ -37,16 +37,25 @@ block() set(RunCMake_TEST_OUTPUT_MERGE 0) run_cmake_command(RerunCMake-build4 ${CMAKE_COMMAND} --build .) endif() - if(RunCMake_GENERATOR MATCHES "^Ninja") - file(REMOVE "${error}") - run_cmake(RerunCMake) +endblock() + +if(RunCMake_GENERATOR MATCHES "^Ninja") + block() + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RerunCMakeNinja-build) + set(RunCMake_TEST_NO_CLEAN 1) + file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") + file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") + set(input "${RunCMake_TEST_BINARY_DIR}/input.txt") + set(stamp "${RunCMake_TEST_BINARY_DIR}/stamp.txt") + file(WRITE "${input}" "0") + run_cmake(RerunCMakeNinja) execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution # remove cmake_install.cmake to trigger rerun file(REMOVE "${RunCMake_TEST_BINARY_DIR}/cmake_install.cmake") - file(WRITE "${input}" "5") - run_cmake_command(RerunCMake-build5 ${CMAKE_COMMAND} --build .) - endif() -endblock() + file(WRITE "${input}" "1") + run_cmake_command(RerunCMakeNinja-build1 ${CMAKE_COMMAND} --build .) + endblock() +endif() block() set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RemoveCache-build)