diff --git a/cmake/modules/DuneUtils.cmake b/cmake/modules/DuneUtils.cmake index c8522b81a66f6245af0084afe52f3aefa96de4ba..ab448b10b774fcff38cedbe80e2b011eb6be4b2f 100644 --- a/cmake/modules/DuneUtils.cmake +++ b/cmake/modules/DuneUtils.cmake @@ -95,9 +95,15 @@ macro(END_TESTCASES) endforeach (target ${dxt_test_binaries}) set(dxt_headercheck_targets "") get_headercheck_targets(dxt_headercheck_targets) - add_custom_target(refresh_test_timings ${CMAKE_BINARY_DIR}/dune-env-3 distribute_testing.py + add_custom_target(rerun_test_distribution ${CMAKE_BINARY_DIR}/dune-env-3 distribute_testing.py "${CMAKE_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}" "${dxt_test_binaries}" "${all_sorted_testnames}" "${dxt_headercheck_targets}" "${DXT_BIN_COUNT}" VERBATIM) + add_custom_target(copy_builders_if_different + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_BINARY_DIR}/builder_definitions.cmake" + "${CMAKE_CURRENT_SOURCE_DIR}/builder_definitions.cmake") + add_custom_target(refresh_test_timings) + add_dependencies(copy_builders_if_different rerun_test_distribution) + add_dependencies(refresh_test_timings copy_builders_if_different) endmacro(END_TESTCASES) macro(add_header_listing) diff --git a/python/scripts/distribute_testing.py b/python/scripts/distribute_testing.py index 076db3837a625e9d43f8591d305342ac0fcf8699..d38ae536f29fef594d5cfe60fefb6d828311b1ef 100644 --- a/python/scripts/distribute_testing.py +++ b/python/scripts/distribute_testing.py @@ -125,7 +125,7 @@ def do_timings(builddir, pickledir, binaries, testnames, processes, headerlibs): all_testnames = sys.argv[4].split('/')[1:] builddir = sys.argv[1] testdir = sys.argv[2] -cmake_outfile = os.path.join(testdir, 'builder_definitions.cmake') +cmake_outfile = os.path.join(builddir, 'builder_definitions.cmake') binaries = sys.argv[3].split(';') headerlibs = sys.argv[5].split(';') try: