diff options
author | David Cole <david.cole@kitware.com> | 2010-06-23 11:04:06 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2010-06-23 11:04:06 (GMT) |
commit | 67f4759b55c6e6de592b3ed425ce8228e1f59b50 (patch) | |
tree | fe162bb49a6edabcc1f34867f91c81847531e7be /Modules/ExternalProject.cmake | |
parent | b1418625645ebef66e54d75004c82d88807e154f (diff) | |
download | CMake-67f4759b55c6e6de592b3ed425ce8228e1f59b50.zip CMake-67f4759b55c6e6de592b3ed425ce8228e1f59b50.tar.gz CMake-67f4759b55c6e6de592b3ed425ce8228e1f59b50.tar.bz2 |
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.
Diffstat (limited to 'Modules/ExternalProject.cmake')
-rw-r--r-- | Modules/ExternalProject.cmake | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index d0845e6..8c249dc 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() |