summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2010-06-23 07:04:06 -0400
committerDavid Cole <david.cole@kitware.com>2010-06-23 07:04:06 -0400
commit67f4759b55c6e6de592b3ed425ce8228e1f59b50 (patch)
treefe162bb49a6edabcc1f34867f91c81847531e7be
parentb1418625645ebef66e54d75004c82d88807e154f (diff)
downloadcmake-67f4759b55c6e6de592b3ed425ce8228e1f59b50.tar.gz
Qualify name of extraction location with ExternalProject name.
Avoid issues with two external projects trying to extract two separate trees at the same time into the same location. Should fix the sporadically failing ExternalProject test on the dashboards for parallel builds.
-rw-r--r--Modules/ExternalProject.cmake9
1 files changed, 4 insertions, 5 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index d0845e6c8c..8c249dc7f0 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -358,7 +358,7 @@ endif()
endfunction(_ep_write_verifyfile_script)
-function(_ep_write_extractfile_script script_filename filename directory)
+function(_ep_write_extractfile_script script_filename name filename directory)
set(args "")
if(filename MATCHES "(\\.bz2|\\.tar\\.gz|\\.tgz|\\.zip)$")
@@ -391,10 +391,10 @@ endif()
# Prepare a space for extracting:
#
set(i 1234)
-while(EXISTS \"\${directory}/../ex\${i}\")
+while(EXISTS \"\${directory}/../ex-${name}\${i}\")
math(EXPR i \"\${i} + 1\")
endwhile()
-set(ut_dir \"\${directory}/../ex\${i}\")
+set(ut_dir \"\${directory}/../ex-${name}\${i}\")
file(MAKE_DIRECTORY \"\${ut_dir}\")
# Extract it:
@@ -895,8 +895,7 @@ function(_ep_add_download_command name)
endif()
_ep_write_verifyfile_script("${stamp_dir}/verify-${name}.cmake" "${file}" "${md5}")
list(APPEND cmd ${CMAKE_COMMAND} -P ${stamp_dir}/verify-${name}.cmake)
- # TODO: Support other archive formats.
- _ep_write_extractfile_script("${stamp_dir}/extract-${name}.cmake" "${file}" "${source_dir}")
+ _ep_write_extractfile_script("${stamp_dir}/extract-${name}.cmake" "${name}" "${file}" "${source_dir}")
list(APPEND cmd ${CMAKE_COMMAND} -P ${stamp_dir}/extract-${name}.cmake)
endif()
else()