mirror of
https://github.com/reactos/CMake.git
synced 2024-12-04 01:22:28 +00:00
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
5
Help/release/dev/ExternalProject-add-lzma.rst
Normal file
5
Help/release/dev/ExternalProject-add-lzma.rst
Normal file
@ -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)
|
||||
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)
|
||||
endif()
|
||||
|
||||
@ -746,7 +746,7 @@ function(_ep_write_extractfile_script script_filename name filename directory)
|
||||
endif()
|
||||
|
||||
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()
|
||||
endif()
|
||||
|
||||
@ -1540,11 +1540,11 @@ function(_ep_add_download_command name)
|
||||
if("x${fname}" STREQUAL "x")
|
||||
string(REGEX MATCH "[^/\\?]*$" fname "${url}")
|
||||
endif()
|
||||
if(NOT "${fname}" MATCHES "(\\.|=)(tar|tar\\.bz2|tar\\.gz|tbz2|tgz|zip)$")
|
||||
string(REGEX MATCH "([^/\\?]+(\\.|=)(tar|tar\\.bz2|tar\\.gz|tbz2|tgz|zip))/.*$" match_result "${url}")
|
||||
if(NOT "${fname}" MATCHES "(\\.|=)(7z|tar|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip)$")
|
||||
string(REGEX MATCH "([^/\\?]+(\\.|=)(7z|tar|tar\\.bz2|tar\\.gz|tar\\.xz|tbz2|tgz|txz|zip))/.*$" match_result "${url}")
|
||||
set(fname "${CMAKE_MATCH_1}")
|
||||
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}")
|
||||
endif()
|
||||
string(REPLACE ";" "-" fname "${fname}")
|
||||
|
Loading…
Reference in New Issue
Block a user