cmake: Avoid '-E tar' failure to extract symlinks on Windows (#13251)
If a symlink fails to extract and the host system is Windows then report a warning and skip the entry instead of failing. This will allow archives containing symbolic links to be extracted on Windows with somewhat gracefully degraded behavior.
This commit is contained in:
parent
0d8552c459
commit
4c383b52d0
|
@ -1660,6 +1660,14 @@ bool extract_tar(const char* outFileName, bool verbose,
|
|||
break;
|
||||
}
|
||||
}
|
||||
#ifdef _WIN32
|
||||
else if(const char* linktext = archive_entry_symlink(entry))
|
||||
{
|
||||
std::cerr << "cmake -E tar: warning: skipping symbolic link \""
|
||||
<< archive_entry_pathname(entry) << "\" -> \""
|
||||
<< linktext << "\"." << std::endl;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
cmSystemTools::Error("Problem with archive_write_header(): ",
|
||||
|
|
Loading…
Reference in New Issue