diff options
author | Brad King <brad.king@kitware.com> | 2024-04-15 18:38:19 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-04-15 18:38:19 (GMT) |
commit | 2e9742cb3dd68321f509ea2506fc465a031c2a47 (patch) | |
tree | b13770e1af2081bbc22ef44996364e1a9f634c04 /Tests/RunCMake/Configure | |
parent | e449417f9468ffada6c0e38a5dab09122a3d1c25 (diff) | |
download | CMake-2e9742cb3dd68321f509ea2506fc465a031c2a47.zip CMake-2e9742cb3dd68321f509ea2506fc465a031c2a47.tar.gz CMake-2e9742cb3dd68321f509ea2506fc465a031c2a47.tar.bz2 |
Tests/RunCMake/Configure: Improve variable scoping
Diffstat (limited to 'Tests/RunCMake/Configure')
-rw-r--r-- | Tests/RunCMake/Configure/RunCMakeTest.cmake | 87 |
1 files changed, 43 insertions, 44 deletions
diff --git a/Tests/RunCMake/Configure/RunCMakeTest.cmake b/Tests/RunCMake/Configure/RunCMakeTest.cmake index 842a005..00d3272 100644 --- a/Tests/RunCMake/Configure/RunCMakeTest.cmake +++ b/Tests/RunCMake/Configure/RunCMakeTest.cmake @@ -4,51 +4,50 @@ run_cmake(ContinueAfterError) run_cmake(CopyFileABI) run_cmake(CustomTargetAfterError) -# Use a single build tree for a few tests without cleaning. -set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RerunCMake-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}/CustomCMakeInput.txt") -set(stamp "${RunCMake_TEST_BINARY_DIR}/CustomCMakeStamp.txt") -set(depend "${RunCMake_TEST_BINARY_DIR}/CustomCMakeDepend.txt") -set(output "${RunCMake_TEST_BINARY_DIR}/CustomCMakeOutput.txt") -set(error "${RunCMake_TEST_BINARY_DIR}/CustomCMakeError.txt") -file(WRITE "${input}" "1") -file(WRITE "${depend}" "1") -run_cmake(RerunCMake) -execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution -file(WRITE "${input}" "2") -run_cmake_command(RerunCMake-build1 ${CMAKE_COMMAND} --build .) -file(WRITE "${depend}" "2") -run_cmake_command(RerunCMake-build2 ${CMAKE_COMMAND} --build .) -execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution -file(WRITE "${depend}" "3") -file(WRITE "${error}" "3") -set(RunCMake_TEST_OUTPUT_MERGE 1) -run_cmake_command(RerunCMake-build3 ${CMAKE_COMMAND} --build .) -if(MSVC_IDE) - # Make sure that for Visual Studio the error occurs from within the build - # system. - file(REMOVE "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/generate.stamp.list") - file(WRITE "${error}" "4") - # With Visual Studio the error must be on stdout, otherwise the error was not - # emitted by ZERO_CHECK. - set(RunCMake_TEST_OUTPUT_MERGE 0) - run_cmake_command(RerunCMake-build4 ${CMAKE_COMMAND} --build .) -endif() -unset(RunCMake_TEST_OUTPUT_MERGE) -unset(RunCMake_TEST_BINARY_DIR) -unset(RunCMake_TEST_NO_CLEAN) +block() + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RerunCMake-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}/CustomCMakeInput.txt") + set(stamp "${RunCMake_TEST_BINARY_DIR}/CustomCMakeStamp.txt") + set(depend "${RunCMake_TEST_BINARY_DIR}/CustomCMakeDepend.txt") + set(output "${RunCMake_TEST_BINARY_DIR}/CustomCMakeOutput.txt") + set(error "${RunCMake_TEST_BINARY_DIR}/CustomCMakeError.txt") + file(WRITE "${input}" "1") + file(WRITE "${depend}" "1") + run_cmake(RerunCMake) + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution + file(WRITE "${input}" "2") + run_cmake_command(RerunCMake-build1 ${CMAKE_COMMAND} --build .) + file(WRITE "${depend}" "2") + run_cmake_command(RerunCMake-build2 ${CMAKE_COMMAND} --build .) + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution + file(WRITE "${depend}" "3") + file(WRITE "${error}" "3") + set(RunCMake_TEST_OUTPUT_MERGE 1) + run_cmake_command(RerunCMake-build3 ${CMAKE_COMMAND} --build .) + if(MSVC_IDE) + # Make sure that for Visual Studio the error occurs from within the build + # system. + file(REMOVE "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/generate.stamp.list") + file(WRITE "${error}" "4") + # With Visual Studio the error must be on stdout, otherwise the error was not + # emitted by ZERO_CHECK. + set(RunCMake_TEST_OUTPUT_MERGE 0) + run_cmake_command(RerunCMake-build4 ${CMAKE_COMMAND} --build .) + endif() +endblock() -# Use a single build tree for a few tests without cleaning. -set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RemoveCache-build) -set(RunCMake_TEST_NO_CLEAN 1) -file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") -file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") -run_cmake(RemoveCache) -file(REMOVE "${RunCMake_TEST_BINARY_DIR}/CMakeCache.txt") -run_cmake(RemoveCache) +block() + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RemoveCache-build) + set(RunCMake_TEST_VARIANT_DESCRIPTION "-step1") + run_cmake(RemoveCache) + set(RunCMake_TEST_NO_CLEAN 1) + file(REMOVE "${RunCMake_TEST_BINARY_DIR}/CMakeCache.txt") + set(RunCMake_TEST_VARIANT_DESCRIPTION "-step2") + run_cmake(RemoveCache) +endblock() if(NOT RunCMake_GENERATOR MATCHES "^Ninja Multi-Config$") run_cmake(NoCMAKE_CROSS_CONFIGS) |