summaryrefslogtreecommitdiff
path: root/Tests/CTestUpdateCommon.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-05-04 09:35:27 -0400
committerBrad King <brad.king@kitware.com>2010-05-04 09:40:04 -0400
commit67277bacca15047405a1185d2271ba81b553bdae (patch)
treed2eca7c94103e0006cc5e2c4cfa9911ab138d964 /Tests/CTestUpdateCommon.cmake
parentf20fd583d8fcc9527de997db3808a75ed9624b90 (diff)
downloadcmake-67277bacca15047405a1185d2271ba81b553bdae.tar.gz
Teach ctest_update about Git submodules
Git does not automatically checkout the matching version of a submodule when it checks out a new version of the parent project in the work tree. If the submodule reference changed in the parent project then we were reporting the submodule path as a local modification. Work around the problem in ctest_update using "git submodule update" after "git pull". For projects with no submodules this is a no-op. See issue #10662. Also add a submodule to the test project for CTest.UpdateGIT to test the work-around.
Diffstat (limited to 'Tests/CTestUpdateCommon.cmake')
-rw-r--r--Tests/CTestUpdateCommon.cmake4
1 files changed, 2 insertions, 2 deletions
diff --git a/Tests/CTestUpdateCommon.cmake b/Tests/CTestUpdateCommon.cmake
index 94c37fe75b..266f4b3bd5 100644
--- a/Tests/CTestUpdateCommon.cmake
+++ b/Tests/CTestUpdateCommon.cmake
@@ -41,8 +41,8 @@ function(check_updates build)
# Compare expected and actual entries
set(EXTRA "${UPDATE_XML_ENTRIES}")
- list(REMOVE_ITEM EXTRA ${ARGN} ${UPDATE_MAYBE})
- set(MISSING "${ARGN}")
+ list(REMOVE_ITEM EXTRA ${ARGN} ${UPDATE_EXTRA} ${UPDATE_MAYBE})
+ set(MISSING "${ARGN}" ${UPDATE_EXTRA})
list(REMOVE_ITEM MISSING ${UPDATE_XML_ENTRIES})
if(NOT UPDATE_NOT_GLOBAL)