diff options
author | Brad King <brad.king@kitware.com> | 2020-06-01 17:36:13 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-06-01 17:42:16 (GMT) |
commit | 37bf7eb7a6440d7b2465a5e69fbf820217ac7eb3 (patch) | |
tree | 14a119a02da479b9c0479f4b9cee558d847918a2 /Tests | |
parent | 1d2c8ae209e4cc0121310b0da10063b68f43bc68 (diff) | |
download | CMake-37bf7eb7a6440d7b2465a5e69fbf820217ac7eb3.zip CMake-37bf7eb7a6440d7b2465a5e69fbf820217ac7eb3.tar.gz CMake-37bf7eb7a6440d7b2465a5e69fbf820217ac7eb3.tar.bz2 |
Tests: Skip RunCMake.try_compile RerunCMake-nowork case on 1s filesystems
On low-resolution filesystems, `Makefile` can end up with the same
time stamp as `CMakeCache.txt`. CMake must re-run in this case to
be conservative, but that invalidates the `-nowork` cases.
Rather than trying to detect 1s filesystems, just add an option
called `CMake_TEST_FILESYSTEM_1S` that external scripts can use
to tell CMake's test suite about this.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/RunCMakeTest.cmake | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 868eb24..65d5e44 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -356,6 +356,7 @@ function(add_RunCMake_test_try_compile) CMAKE_CXX_COMPILER_VERSION CMAKE_CXX_STANDARD_DEFAULT CMake_TEST_CUDA + CMake_TEST_FILESYSTEM_1S CMAKE_OBJC_STANDARD_DEFAULT CMAKE_OBJCXX_STANDARD_DEFAULT ) diff --git a/Tests/RunCMake/try_compile/RunCMakeTest.cmake b/Tests/RunCMake/try_compile/RunCMakeTest.cmake index bee9e5b..82c55cc 100644 --- a/Tests/RunCMake/try_compile/RunCMakeTest.cmake +++ b/Tests/RunCMake/try_compile/RunCMakeTest.cmake @@ -83,13 +83,17 @@ if(RunCMake_GENERATOR MATCHES "Make|Ninja") message(STATUS "RerunCMake: first configuration...") run_cmake(RerunCMake) - run_cmake_command(RerunCMake-nowork${ninja} ${CMAKE_COMMAND} --build .) + if(NOT CMake_TEST_FILESYSTEM_1S) + run_cmake_command(RerunCMake-nowork${ninja} ${CMAKE_COMMAND} --build .) + endif() execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution message(STATUS "RerunCMake: modify try_compile input...") file(WRITE "${in_tc}" "does-not-compile\n") run_cmake_command(RerunCMake-rerun${ninja} ${CMAKE_COMMAND} --build .) - run_cmake_command(RerunCMake-nowork${ninja} ${CMAKE_COMMAND} --build .) + if(NOT CMake_TEST_FILESYSTEM_1S) + run_cmake_command(RerunCMake-nowork${ninja} ${CMAKE_COMMAND} --build .) + endif() unset(RunCMake_TEST_BINARY_DIR) unset(RunCMake_TEST_NO_CLEAN) |