3 run_cmake(ContinueAfterError)
4 run_cmake(CustomTargetAfterError)
6 run_cmake(FailCopyFileABI)
8 # Use a single build tree for a few tests without cleaning.
9 set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RerunCMake-build)
10 set(RunCMake_TEST_NO_CLEAN 1)
11 file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
12 file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
13 set(input "${RunCMake_TEST_BINARY_DIR}/CustomCMakeInput.txt")
14 set(stamp "${RunCMake_TEST_BINARY_DIR}/CustomCMakeStamp.txt")
15 set(depend "${RunCMake_TEST_BINARY_DIR}/CustomCMakeDepend.txt")
16 set(output "${RunCMake_TEST_BINARY_DIR}/CustomCMakeOutput.txt")
17 set(error "${RunCMake_TEST_BINARY_DIR}/CustomCMakeError.txt")
18 file(WRITE "${input}" "1")
19 file(WRITE "${depend}" "1")
21 execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
22 file(WRITE "${input}" "2")
23 run_cmake_command(RerunCMake-build1 ${CMAKE_COMMAND} --build .)
24 file(WRITE "${depend}" "2")
25 run_cmake_command(RerunCMake-build2 ${CMAKE_COMMAND} --build .)
26 execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
27 file(WRITE "${depend}" "3")
28 file(WRITE "${error}" "3")
29 set(RunCMake_TEST_OUTPUT_MERGE 1)
30 run_cmake_command(RerunCMake-build3 ${CMAKE_COMMAND} --build .)
32 # Make sure that for Visual Studio the error occurs from within the build
34 file(REMOVE "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/generate.stamp.list")
35 file(WRITE "${error}" "4")
36 # With Visual Studio the error must be on stdout, otherwise the error was not
37 # emitted by ZERO_CHECK.
38 set(RunCMake_TEST_OUTPUT_MERGE 0)
39 run_cmake_command(RerunCMake-build4 ${CMAKE_COMMAND} --build .)
41 unset(RunCMake_TEST_OUTPUT_MERGE)
42 unset(RunCMake_TEST_BINARY_DIR)
43 unset(RunCMake_TEST_NO_CLEAN)
45 # Use a single build tree for a few tests without cleaning.
46 set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RemoveCache-build)
47 set(RunCMake_TEST_NO_CLEAN 1)
48 file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
49 file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
50 run_cmake(RemoveCache)
51 file(REMOVE "${RunCMake_TEST_BINARY_DIR}/CMakeCache.txt")
52 run_cmake(RemoveCache)
54 if(NOT RunCMake_GENERATOR MATCHES "^Ninja Multi-Config$")
55 run_cmake(NoCMAKE_CROSS_CONFIGS)
56 run_cmake(NoCMAKE_DEFAULT_BUILD_TYPE)
57 run_cmake(NoCMAKE_DEFAULT_CONFIGS)