diff options
author | Cristian Adam <cristian.adam@gmail.com> | 2020-01-26 21:26:51 (GMT) |
---|---|---|
committer | Cristian Adam <cristian.adam@gmail.com> | 2020-01-27 15:53:46 (GMT) |
commit | 830a7d88032822a7a1601735ac013999fff53b9a (patch) | |
tree | acf904b3fbc24ce8423ca78b683847a93d4694d2 /Source | |
parent | 55ea8f6b1b3756de32334d80ea000f21ddc4d5c7 (diff) | |
download | CMake-830a7d88032822a7a1601735ac013999fff53b9a.zip CMake-830a7d88032822a7a1601735ac013999fff53b9a.tar.gz CMake-830a7d88032822a7a1601735ac013999fff53b9a.tar.bz2 |
cmArchiveWrite: Remove ./ suffix from zip archives
Fixes: #20238
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmArchiveWrite.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/cmArchiveWrite.cxx b/Source/cmArchiveWrite.cxx index e5eea79..f8d1aa7 100644 --- a/Source/cmArchiveWrite.cxx +++ b/Source/cmArchiveWrite.cxx @@ -200,8 +200,10 @@ bool cmArchiveWrite::Add(std::string path, size_t skip, const char* prefix, bool cmArchiveWrite::AddPath(const char* path, size_t skip, const char* prefix, bool recursive) { - if (!this->AddFile(path, skip, prefix)) { - return false; + if (strcmp(path, ".") != 0 || this->Format != "zip") { + if (!this->AddFile(path, skip, prefix)) { + return false; + } } if ((!cmSystemTools::FileIsDirectory(path) || !recursive) || cmSystemTools::FileIsSymlink(path)) { @@ -210,6 +212,9 @@ bool cmArchiveWrite::AddPath(const char* path, size_t skip, const char* prefix, cmsys::Directory d; if (d.Load(path)) { std::string next = cmStrCat(path, '/'); + if (next == "./" && this->Format == "zip") { + next.clear(); + } std::string::size_type end = next.size(); unsigned long n = d.GetNumberOfFiles(); for (unsigned long i = 0; i < n; ++i) { |