ExternalProject: Recognize lzma-compressed files (#13515)
Add .7z, .tar.xz, and .txz file extensions. Inspired-by: Joke de Buhr <joke@seiken.de> Inspired-by: David Cole <DLRdave@aol.com>
This commit is contained in:
parent
98ea03443b
commit
56e6975ce9
|
@ -0,0 +1,5 @@
|
||||||
|
ExternalProject-add-lzma
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module learned to support lzma-compressed
|
||||||
|
source tarballs with ``.7z``, ``.tar.xz``, and ``.txz`` extensions.
|
|
@ -737,7 +737,7 @@ endfunction()
|
||||||
function(_ep_write_extractfile_script script_filename name filename directory)
|
function(_ep_write_extractfile_script script_filename name filename directory)
|
||||||
set(args "")
|
set(args "")
|
||||||
|
|
||||||
if(filename MATCHES "(\\.|=)(tar\\.bz2|tar\\.gz|tbz2|tgz|zip)$")
|
if(filename MATCHES "(\\.|=)(7z|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip)$")
|
||||||
set(args xfz)
|
set(args xfz)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -746,7 +746,7 @@ function(_ep_write_extractfile_script script_filename name filename directory)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(args STREQUAL "")
|
if(args STREQUAL "")
|
||||||
message(SEND_ERROR "error: do not know how to extract '${filename}' -- known types are .tar, .tar.bz2, .tar.gz, .tbz2, .tgz and .zip")
|
message(SEND_ERROR "error: do not know how to extract '${filename}' -- known types are .7z, .tar, .tar.bz2, .tar.gz, .tar.xz, .tbz2, .tgz, .txz and .zip")
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -1540,11 +1540,11 @@ function(_ep_add_download_command name)
|
||||||
if("x${fname}" STREQUAL "x")
|
if("x${fname}" STREQUAL "x")
|
||||||
string(REGEX MATCH "[^/\\?]*$" fname "${url}")
|
string(REGEX MATCH "[^/\\?]*$" fname "${url}")
|
||||||
endif()
|
endif()
|
||||||
if(NOT "${fname}" MATCHES "(\\.|=)(tar|tar\\.bz2|tar\\.gz|tbz2|tgz|zip)$")
|
if(NOT "${fname}" MATCHES "(\\.|=)(7z|tar|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip)$")
|
||||||
string(REGEX MATCH "([^/\\?]+(\\.|=)(tar|tar\\.bz2|tar\\.gz|tbz2|tgz|zip))/.*$" match_result "${url}")
|
string(REGEX MATCH "([^/\\?]+(\\.|=)(7z|tar|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip))/.*$" match_result "${url}")
|
||||||
set(fname "${CMAKE_MATCH_1}")
|
set(fname "${CMAKE_MATCH_1}")
|
||||||
endif()
|
endif()
|
||||||
if(NOT "${fname}" MATCHES "(\\.|=)(tar|tar\\.bz2|tar\\.gz|tbz2|tgz|zip)$")
|
if(NOT "${fname}" MATCHES "(\\.|=)(7z|tar|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip)$")
|
||||||
message(FATAL_ERROR "Could not extract tarball filename from url:\n ${url}")
|
message(FATAL_ERROR "Could not extract tarball filename from url:\n ${url}")
|
||||||
endif()
|
endif()
|
||||||
string(REPLACE ";" "-" fname "${fname}")
|
string(REPLACE ";" "-" fname "${fname}")
|
||||||
|
|
Loading…
Reference in New Issue