From 739f16653d823ea9519405da837cd57dcf204403 Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Tue, 13 Nov 2012 10:52:05 -0500
Subject: Serialize tests for EXCLUDE_FROM_DEFAULT_BUILD

The tests share a single build directory and so should not run in
parallel.  While at it, add the build dir to the test_clean target.
---
 Tests/CMakeLists.txt | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 7f05121..1e8c228 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1417,6 +1417,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
       # The test (and tested property) works with .sln files, so it's skipped when:
       # * Using VS6, which doesn't use .sln files
       # * cmake --build is set up to use MSBuild, since the MSBuild invocation does not use the .sln file
+      set(_last_test "")
       foreach(config ${CMAKE_CONFIGURATION_TYPES})
         add_test(NAME VSExcludeFromDefaultBuild-${config} COMMAND ${CMAKE_CTEST_COMMAND}
           --build-and-test
@@ -1432,7 +1433,13 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
              -D "allConfigs=${CMAKE_CONFIGURATION_TYPES}"
              -D "dir=${CMake_BINARY_DIR}/Tests/VSExcludeFromDefaultBuild"
              -P "${CMake_SOURCE_DIR}/Tests/VSExcludeFromDefaultBuild/ResultTest.cmake")
+        if(_last_test)
+          set_property(TEST VSExcludeFromDefaultBuild-${config} PROPERTY DEPENDS ${_last_test})
+        endif()
+        set(_last_test "VSExcludeFromDefaultBuild-${config}")
       endforeach()
+      unset(_last_test)
+      list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSExcludeFromDefaultBuild")
     endif()
   endif()
 
-- 
cgit v0.12