From 1e4b829279923b232e0d159f41bdd1ff40a7e5fc Mon Sep 17 00:00:00 2001 From: AJIOB Date: Tue, 16 Dec 2025 08:23:18 +0300 Subject: [PATCH 1/2] cpack: restore broken archive compression methods Relates #27461 --- Source/CPack/cmCPackArchiveGenerator.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/CPack/cmCPackArchiveGenerator.cxx b/Source/CPack/cmCPackArchiveGenerator.cxx index 994f2b9403..8f2658c012 100644 --- a/Source/CPack/cmCPackArchiveGenerator.cxx +++ b/Source/CPack/cmCPackArchiveGenerator.cxx @@ -135,7 +135,7 @@ private: cmCPackGenerator* cmCPackArchiveGenerator::Create7ZGenerator() { - return new cmCPackArchiveGenerator(cmArchiveWrite::CompressNone, "7zip", + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressLZMA, "7zip", ".7z"); } @@ -177,7 +177,7 @@ cmCPackGenerator* cmCPackArchiveGenerator::CreateTarGenerator() cmCPackGenerator* cmCPackArchiveGenerator::CreateZIPGenerator() { - return new cmCPackArchiveGenerator(cmArchiveWrite::CompressNone, "zip", + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressGZip, "zip", ".zip"); } From 3db6cce65706b4614cc2fc7a5c7a57234f663dfe Mon Sep 17 00:00:00 2001 From: AJIOB Date: Tue, 16 Dec 2025 09:03:18 +0300 Subject: [PATCH 2/2] cpack: 7z & zip supports compression algorithms Fixes: #27461 --- Help/cpack_gen/archive.rst | 56 ++++++++++++++ Help/release/dev/cpack-7z-zip-algorithms.rst | 5 ++ Source/CPack/cmCPackArchiveGenerator.cxx | 76 +++++++++++++++++++ Source/CPack/cmCPackArchiveGenerator.h | 13 ++++ Source/CPack/cmCPackGeneratorFactory.cxx | 48 +++++++++++- Tests/RunCMake/CMakeLists.txt | 40 ++++++++++ Tests/RunCMake/CPack/7Z_BZ2/Helpers.cmake | 3 + .../CPack/7Z_BZ2/Prerequirements.cmake | 4 + .../7Z_BZ2/packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/7Z_DEFLATE/Helpers.cmake | 3 + .../CPack/7Z_DEFLATE/Prerequirements.cmake | 4 + .../packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/7Z_LZMA/Helpers.cmake | 3 + .../CPack/7Z_LZMA/Prerequirements.cmake | 4 + .../7Z_LZMA/packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/7Z_LZMA2/Helpers.cmake | 3 + .../CPack/7Z_LZMA2/Prerequirements.cmake | 4 + .../packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/7Z_PPMD/Helpers.cmake | 3 + .../CPack/7Z_PPMD/Prerequirements.cmake | 4 + .../7Z_PPMD/packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/7Z_STORE/Helpers.cmake | 3 + .../CPack/7Z_STORE/Prerequirements.cmake | 4 + .../packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/7Z_ZSTD/Helpers.cmake | 3 + .../CPack/7Z_ZSTD/Prerequirements.cmake | 4 + .../7Z_ZSTD/packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/RunCMakeTest.cmake | 4 +- Tests/RunCMake/CPack/TZST/Helpers.cmake | 3 + .../RunCMake/CPack/TZST/Prerequirements.cmake | 4 + .../TZST/packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/ZIP_BZ2/Helpers.cmake | 3 + .../CPack/ZIP_BZ2/Prerequirements.cmake | 4 + .../ZIP_BZ2/packaging_COMPONENT_default.cmake | 1 + .../RunCMake/CPack/ZIP_DEFLATE/Helpers.cmake | 3 + .../CPack/ZIP_DEFLATE/Prerequirements.cmake | 4 + .../packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/ZIP_LZMA/Helpers.cmake | 3 + .../CPack/ZIP_LZMA/Prerequirements.cmake | 4 + .../packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/ZIP_LZMA2/Helpers.cmake | 3 + .../CPack/ZIP_LZMA2/Prerequirements.cmake | 4 + .../packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/ZIP_STORE/Helpers.cmake | 3 + .../CPack/ZIP_STORE/Prerequirements.cmake | 4 + .../packaging_COMPONENT_default.cmake | 1 + Tests/RunCMake/CPack/ZIP_ZSTD/Helpers.cmake | 3 + .../CPack/ZIP_ZSTD/Prerequirements.cmake | 4 + .../packaging_COMPONENT_default.cmake | 1 + 49 files changed, 348 insertions(+), 6 deletions(-) create mode 100644 Help/release/dev/cpack-7z-zip-algorithms.rst create mode 100644 Tests/RunCMake/CPack/7Z_BZ2/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/7Z_BZ2/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/7Z_BZ2/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/7Z_DEFLATE/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/7Z_DEFLATE/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/7Z_DEFLATE/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/7Z_LZMA/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/7Z_LZMA/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/7Z_LZMA/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/7Z_LZMA2/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/7Z_LZMA2/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/7Z_LZMA2/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/7Z_PPMD/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/7Z_PPMD/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/7Z_PPMD/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/7Z_STORE/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/7Z_STORE/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/7Z_STORE/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/7Z_ZSTD/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/7Z_ZSTD/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/7Z_ZSTD/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/TZST/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/TZST/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/TZST/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_BZ2/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_BZ2/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_BZ2/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_DEFLATE/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_DEFLATE/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_DEFLATE/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_LZMA/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_LZMA/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_LZMA/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_LZMA2/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_LZMA2/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_LZMA2/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_STORE/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_STORE/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_STORE/packaging_COMPONENT_default.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_ZSTD/Helpers.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_ZSTD/Prerequirements.cmake create mode 100644 Tests/RunCMake/CPack/ZIP_ZSTD/packaging_COMPONENT_default.cmake diff --git a/Help/cpack_gen/archive.rst b/Help/cpack_gen/archive.rst index 6548952abc..61ecc04151 100644 --- a/Help/cpack_gen/archive.rst +++ b/Help/cpack_gen/archive.rst @@ -8,6 +8,36 @@ any of the following formats: .. versionadded:: 3.1 + This is an alias for ``7Z_LZMA`` + +- 7Z_BZ2 - 7zip - (``.7z``) - BZip2 compressed + + .. versionadded:: 4.3 + +- 7Z_DEFLATE - 7zip - (``.7z``) - Deflate compressed + + .. versionadded:: 4.3 + +- 7Z_LZMA - 7zip - (``.7z``) - LZMA compressed + + .. versionadded:: 4.3 + +- 7Z_LZMA2 - 7zip - (``.7z``) - LZMA2 compressed + + .. versionadded:: 4.3 + +- 7Z_PPMD - 7zip - (``.7z``) - PPMd compressed + + .. versionadded:: 4.3 + +- 7Z_STORE - 7zip - (``.7z``) - no compression is used + + .. versionadded:: 4.3 + +- 7Z_ZSTD - 7zip - (``.7z``) - Zstandard compressed + + .. versionadded:: 4.3 + - TAR (``.tar``) - no compression is used .. versionadded:: 4.0 @@ -28,6 +58,32 @@ any of the following formats: - ZIP (``.zip``) - Deflate compressed + This is an alias for ``ZIP_DEFLATE`` + +- ZIP_BZ2 (``.zip``) - BZip2 compressed + + .. versionadded:: 4.3 + +- ZIP_DEFLATE (``.zip``) - Deflate compressed + + .. versionadded:: 4.3 + +- ZIP_LZMA (``.zip``) - LZMA compressed + + .. versionadded:: 4.3 + +- ZIP_LZMA2 (``.zip``) - LZMA2 compressed + + .. versionadded:: 4.3 + +- ZIP_STORE (``.zip``) - no compression is used + + .. versionadded:: 4.3 + +- ZIP_ZSTD (``.zip``) - Zstandard compressed + + .. versionadded:: 4.3 + When this generator is called from ``CPackSourceConfig.cmake`` (or through the ``package_source`` target), then the generated archive will contain all files in the project directory, except those specified in diff --git a/Help/release/dev/cpack-7z-zip-algorithms.rst b/Help/release/dev/cpack-7z-zip-algorithms.rst new file mode 100644 index 0000000000..18bc5ba130 --- /dev/null +++ b/Help/release/dev/cpack-7z-zip-algorithms.rst @@ -0,0 +1,5 @@ +cpack-7z-zip-algorithms +----------------------- + +* The :cpack_gen:`CPack Archive Generator` generator supports support compression + methods specification for ``7zip`` and ``zip`` formats. diff --git a/Source/CPack/cmCPackArchiveGenerator.cxx b/Source/CPack/cmCPackArchiveGenerator.cxx index 8f2658c012..bee86a8ed4 100644 --- a/Source/CPack/cmCPackArchiveGenerator.cxx +++ b/Source/CPack/cmCPackArchiveGenerator.cxx @@ -134,11 +134,52 @@ private: }; cmCPackGenerator* cmCPackArchiveGenerator::Create7ZGenerator() +{ + return cmCPackArchiveGenerator::Create7ZLzmaGenerator(); +} + +cmCPackGenerator* cmCPackArchiveGenerator::Create7ZStoreGenerator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressNone, "7zip", + ".7z"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::Create7ZDeflateGenerator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressGZip, "7zip", + ".7z"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::Create7ZBzip2Generator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressBZip2, "7zip", + ".7z"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::Create7ZLzmaGenerator() { return new cmCPackArchiveGenerator(cmArchiveWrite::CompressLZMA, "7zip", ".7z"); } +cmCPackGenerator* cmCPackArchiveGenerator::Create7ZLzma2Generator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressXZ, "7zip", + ".7z"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::Create7ZZstdGenerator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressZstd, "7zip", + ".7z"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::Create7ZPPMdGenerator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressPPMd, "7zip", + ".7z"); +} + cmCPackGenerator* cmCPackArchiveGenerator::CreateTBZ2Generator() { return new cmCPackArchiveGenerator(cmArchiveWrite::CompressBZip2, "paxr", @@ -176,11 +217,46 @@ cmCPackGenerator* cmCPackArchiveGenerator::CreateTarGenerator() } cmCPackGenerator* cmCPackArchiveGenerator::CreateZIPGenerator() +{ + return cmCPackArchiveGenerator::CreateZipDeflateGenerator(); +} + +cmCPackGenerator* cmCPackArchiveGenerator::CreateZipStoreGenerator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressNone, "zip", + ".zip"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::CreateZipDeflateGenerator() { return new cmCPackArchiveGenerator(cmArchiveWrite::CompressGZip, "zip", ".zip"); } +cmCPackGenerator* cmCPackArchiveGenerator::CreateZipBzip2Generator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressBZip2, "zip", + ".zip"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::CreateZipLzmaGenerator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressLZMA, "zip", + ".zip"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::CreateZipLzma2Generator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressXZ, "zip", + ".zip"); +} + +cmCPackGenerator* cmCPackArchiveGenerator::CreateZipZstdGenerator() +{ + return new cmCPackArchiveGenerator(cmArchiveWrite::CompressZstd, "zip", + ".zip"); +} + cmCPackArchiveGenerator::cmCPackArchiveGenerator( cmArchiveWrite::Compress compress, std::string format, std::string extension) : Compress(compress) diff --git a/Source/CPack/cmCPackArchiveGenerator.h b/Source/CPack/cmCPackArchiveGenerator.h index f2c416341e..5088ae0310 100644 --- a/Source/CPack/cmCPackArchiveGenerator.h +++ b/Source/CPack/cmCPackArchiveGenerator.h @@ -24,6 +24,13 @@ public: using Superclass = cmCPackGenerator; static cmCPackGenerator* Create7ZGenerator(); + static cmCPackGenerator* Create7ZStoreGenerator(); + static cmCPackGenerator* Create7ZDeflateGenerator(); + static cmCPackGenerator* Create7ZBzip2Generator(); + static cmCPackGenerator* Create7ZLzmaGenerator(); + static cmCPackGenerator* Create7ZLzma2Generator(); + static cmCPackGenerator* Create7ZZstdGenerator(); + static cmCPackGenerator* Create7ZPPMdGenerator(); static cmCPackGenerator* CreateTBZ2Generator(); static cmCPackGenerator* CreateTGZGenerator(); static cmCPackGenerator* CreateTXZGenerator(); @@ -31,6 +38,12 @@ public: static cmCPackGenerator* CreateTZSTGenerator(); static cmCPackGenerator* CreateTarGenerator(); static cmCPackGenerator* CreateZIPGenerator(); + static cmCPackGenerator* CreateZipStoreGenerator(); + static cmCPackGenerator* CreateZipDeflateGenerator(); + static cmCPackGenerator* CreateZipBzip2Generator(); + static cmCPackGenerator* CreateZipLzmaGenerator(); + static cmCPackGenerator* CreateZipLzma2Generator(); + static cmCPackGenerator* CreateZipZstdGenerator(); /** * Construct generator diff --git a/Source/CPack/cmCPackGeneratorFactory.cxx b/Source/CPack/cmCPackGeneratorFactory.cxx index c46710ceb1..449e71136d 100644 --- a/Source/CPack/cmCPackGeneratorFactory.cxx +++ b/Source/CPack/cmCPackGeneratorFactory.cxx @@ -46,8 +46,30 @@ cmCPackGeneratorFactory::cmCPackGeneratorFactory() { if (cmCPackArchiveGenerator::CanGenerate()) { - this->RegisterGenerator("7Z", "7-Zip file format", - cmCPackArchiveGenerator::Create7ZGenerator); + this->RegisterGenerator( + "7Z", "7-Zip file format with default compression algorithm", + cmCPackArchiveGenerator::Create7ZGenerator); + this->RegisterGenerator("7Z_STORE", + "7-Zip file format without compression", + cmCPackArchiveGenerator::Create7ZStoreGenerator); + this->RegisterGenerator("7Z_DEFLATE", + "7-Zip file format with Deflate compression", + cmCPackArchiveGenerator::Create7ZDeflateGenerator); + this->RegisterGenerator("7Z_BZ2", + "7-Zip file format with BZip2 compression", + cmCPackArchiveGenerator::Create7ZBzip2Generator); + this->RegisterGenerator("7Z_LZMA", + "7-Zip file format with LZMA compression", + cmCPackArchiveGenerator::Create7ZLzmaGenerator); + this->RegisterGenerator("7Z_LZMA2", + "7-Zip file format with LZMA2 compression", + cmCPackArchiveGenerator::Create7ZLzma2Generator); + this->RegisterGenerator("7Z_ZSTD", + "7-Zip file format with Zstandard compression", + cmCPackArchiveGenerator::Create7ZZstdGenerator); + this->RegisterGenerator("7Z_PPMD", + "7-Zip file format with PPMd compression", + cmCPackArchiveGenerator::Create7ZPPMdGenerator); this->RegisterGenerator("TBZ2", "Tar BZip2 compression", cmCPackArchiveGenerator::CreateTBZ2Generator); this->RegisterGenerator("TGZ", "Tar GZip compression", @@ -60,8 +82,26 @@ cmCPackGeneratorFactory::cmCPackGeneratorFactory() cmCPackArchiveGenerator::CreateTZSTGenerator); this->RegisterGenerator("TAR", "Tar no compression", cmCPackArchiveGenerator::CreateTarGenerator); - this->RegisterGenerator("ZIP", "ZIP file format", - cmCPackArchiveGenerator::CreateZIPGenerator); + this->RegisterGenerator( + "ZIP", "ZIP file format with default compression algorithm", + cmCPackArchiveGenerator::CreateZIPGenerator); + this->RegisterGenerator("ZIP_STORE", "ZIP file format without compression", + cmCPackArchiveGenerator::CreateZipStoreGenerator); + this->RegisterGenerator( + "ZIP_DEFLATE", "ZIP file format with Deflate compression", + cmCPackArchiveGenerator::CreateZipDeflateGenerator); + this->RegisterGenerator("ZIP_BZ2", + "ZIP file format with BZip2 compression", + cmCPackArchiveGenerator::CreateZipBzip2Generator); + this->RegisterGenerator("ZIP_LZMA", + "ZIP file format with LZMA compression", + cmCPackArchiveGenerator::CreateZipLzmaGenerator); + this->RegisterGenerator("ZIP_LZMA2", + "ZIP file format with LZMA2 compression", + cmCPackArchiveGenerator::CreateZipLzma2Generator); + this->RegisterGenerator("ZIP_ZSTD", + "ZIP file format with Zstandard compression", + cmCPackArchiveGenerator::CreateZipZstdGenerator); } if (cmCPackSTGZGenerator::CanGenerate()) { this->RegisterGenerator("STGZ", "Self extracting Tar GZip compression", diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 7535772676..a3a99402bb 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -1261,12 +1261,26 @@ set(cpack_tests RPM.COMPONENT_WITH_SPECIAL_CHARS 7Z + 7Z_STORE + 7Z_DEFLATE + 7Z_BZ2 + 7Z_LZMA + 7Z_LZMA2 + 7Z_ZSTD + 7Z_PPMD TAR TBZ2 TGZ TXZ TZ + TZST ZIP + ZIP_STORE + ZIP_DEFLATE + ZIP_BZ2 + ZIP_LZMA + ZIP_LZMA2 + ZIP_ZSTD STGZ External ) @@ -1302,10 +1316,24 @@ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "e2k" AND NOT DEFINED CMake_TEST_E2K_BROKEN_L RPM.DIST RPM.AUTO_SUFFIXES 7Z + 7Z_STORE + 7Z_DEFLATE + 7Z_BZ2 + 7Z_LZMA + 7Z_LZMA2 + 7Z_ZSTD + 7Z_PPMD TXZ + TZST TBZ2 TGZ ZIP + ZIP_STORE + ZIP_DEFLATE + ZIP_BZ2 + ZIP_LZMA + ZIP_LZMA2 + ZIP_ZSTD STGZ External ) @@ -1313,6 +1341,18 @@ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "e2k" AND NOT DEFINED CMake_TEST_E2K_BROKEN_L endif() endif() +if(CMake_TEST_LibArchive_VERSION AND CMake_TEST_LibArchive_VERSION VERSION_LESS 3.8.0) + # Exclude tests, that require libarchive >= 3.8.0 + # if the version of libarchive is less than required + list(REMOVE_ITEM cpack_tests + 7Z_ZSTD + ZIP_BZ2 + ZIP_LZMA + ZIP_LZMA2 + ZIP_ZSTD + ) +endif() + add_RunCMake_test_group(CPack "${cpack_tests}") if(CMake_TEST_CPACK_APPIMAGE) diff --git a/Tests/RunCMake/CPack/7Z_BZ2/Helpers.cmake b/Tests/RunCMake/CPack/7Z_BZ2/Helpers.cmake new file mode 100644 index 0000000000..f256a42703 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_BZ2/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "7z") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/7Z_BZ2/Prerequirements.cmake b/Tests/RunCMake/CPack/7Z_BZ2/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_BZ2/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/7Z_BZ2/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/7Z_BZ2/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_BZ2/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/7Z_DEFLATE/Helpers.cmake b/Tests/RunCMake/CPack/7Z_DEFLATE/Helpers.cmake new file mode 100644 index 0000000000..f256a42703 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_DEFLATE/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "7z") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/7Z_DEFLATE/Prerequirements.cmake b/Tests/RunCMake/CPack/7Z_DEFLATE/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_DEFLATE/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/7Z_DEFLATE/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/7Z_DEFLATE/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_DEFLATE/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/7Z_LZMA/Helpers.cmake b/Tests/RunCMake/CPack/7Z_LZMA/Helpers.cmake new file mode 100644 index 0000000000..f256a42703 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_LZMA/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "7z") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/7Z_LZMA/Prerequirements.cmake b/Tests/RunCMake/CPack/7Z_LZMA/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_LZMA/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/7Z_LZMA/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/7Z_LZMA/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_LZMA/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/7Z_LZMA2/Helpers.cmake b/Tests/RunCMake/CPack/7Z_LZMA2/Helpers.cmake new file mode 100644 index 0000000000..f256a42703 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_LZMA2/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "7z") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/7Z_LZMA2/Prerequirements.cmake b/Tests/RunCMake/CPack/7Z_LZMA2/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_LZMA2/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/7Z_LZMA2/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/7Z_LZMA2/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_LZMA2/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/7Z_PPMD/Helpers.cmake b/Tests/RunCMake/CPack/7Z_PPMD/Helpers.cmake new file mode 100644 index 0000000000..f256a42703 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_PPMD/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "7z") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/7Z_PPMD/Prerequirements.cmake b/Tests/RunCMake/CPack/7Z_PPMD/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_PPMD/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/7Z_PPMD/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/7Z_PPMD/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_PPMD/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/7Z_STORE/Helpers.cmake b/Tests/RunCMake/CPack/7Z_STORE/Helpers.cmake new file mode 100644 index 0000000000..f256a42703 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_STORE/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "7z") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/7Z_STORE/Prerequirements.cmake b/Tests/RunCMake/CPack/7Z_STORE/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_STORE/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/7Z_STORE/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/7Z_STORE/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_STORE/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/7Z_ZSTD/Helpers.cmake b/Tests/RunCMake/CPack/7Z_ZSTD/Helpers.cmake new file mode 100644 index 0000000000..f256a42703 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_ZSTD/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "7z") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/7Z_ZSTD/Prerequirements.cmake b/Tests/RunCMake/CPack/7Z_ZSTD/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_ZSTD/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/7Z_ZSTD/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/7Z_ZSTD/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/7Z_ZSTD/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index 83bf1366f8..617d30b030 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -36,8 +36,8 @@ if(DEBUGEDIT AND NOT BRPALT) endif() run_cpack_test(LONG_FILENAMES "DEB.LONG_FILENAMES" false "MONOLITHIC") run_cpack_test_subtests(MAIN_COMPONENT "invalid;found" "RPM.MAIN_COMPONENT" false "COMPONENT") -run_cpack_test(MINIMAL "RPM.MINIMAL;DEB.MINIMAL;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ;TAR;External" false "MONOLITHIC;COMPONENT") -run_cpack_test_package_target(MINIMAL "RPM.MINIMAL;DEB.MINIMAL;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ;TAR;External" false "MONOLITHIC;COMPONENT") +run_cpack_test(MINIMAL "RPM.MINIMAL;DEB.MINIMAL;7Z;7Z_STORE;7Z_DEFLATE;7Z_BZ2;7Z_LZMA;7Z_LZMA2;7Z_ZSTD;7Z_PPMD;TBZ2;TGZ;TXZ;TZST;TZ;ZIP;ZIP_STORE;ZIP_DEFLATE;ZIP_BZ2;ZIP_LZMA;ZIP_LZMA2;ZIP_ZSTD;STGZ;TAR;External" false "MONOLITHIC;COMPONENT") +run_cpack_test_package_target(MINIMAL "RPM.MINIMAL;DEB.MINIMAL;7Z;7Z_STORE;7Z_DEFLATE;7Z_BZ2;7Z_LZMA;7Z_LZMA2;7Z_ZSTD;7Z_PPMD;TBZ2;TGZ;TXZ;TZST;TZ;ZIP;ZIP_STORE;ZIP_DEFLATE;ZIP_BZ2;ZIP_LZMA;ZIP_LZMA2;ZIP_ZSTD;STGZ;TAR;External" false "MONOLITHIC;COMPONENT") run_cpack_test_package_target(THREADED_ALL "TXZ;DEB" false "MONOLITHIC;COMPONENT") run_cpack_test_package_target(THREADED "TXZ;DEB" false "MONOLITHIC;COMPONENT") run_cpack_test_subtests(PACKAGE_CHECKSUM "invalid;MD5;SHA1;SHA224;SHA256;SHA384;SHA512" "TGZ" false "MONOLITHIC") diff --git a/Tests/RunCMake/CPack/TZST/Helpers.cmake b/Tests/RunCMake/CPack/TZST/Helpers.cmake new file mode 100644 index 0000000000..3c8fa32057 --- /dev/null +++ b/Tests/RunCMake/CPack/TZST/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "tar.zst") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/TZST/Prerequirements.cmake b/Tests/RunCMake/CPack/TZST/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/TZST/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/TZST/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/TZST/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/TZST/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/ZIP_BZ2/Helpers.cmake b/Tests/RunCMake/CPack/ZIP_BZ2/Helpers.cmake new file mode 100644 index 0000000000..3710bcf6a1 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_BZ2/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "zip") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/ZIP_BZ2/Prerequirements.cmake b/Tests/RunCMake/CPack/ZIP_BZ2/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_BZ2/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/ZIP_BZ2/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/ZIP_BZ2/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_BZ2/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/ZIP_DEFLATE/Helpers.cmake b/Tests/RunCMake/CPack/ZIP_DEFLATE/Helpers.cmake new file mode 100644 index 0000000000..3710bcf6a1 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_DEFLATE/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "zip") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/ZIP_DEFLATE/Prerequirements.cmake b/Tests/RunCMake/CPack/ZIP_DEFLATE/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_DEFLATE/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/ZIP_DEFLATE/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/ZIP_DEFLATE/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_DEFLATE/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/ZIP_LZMA/Helpers.cmake b/Tests/RunCMake/CPack/ZIP_LZMA/Helpers.cmake new file mode 100644 index 0000000000..3710bcf6a1 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_LZMA/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "zip") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/ZIP_LZMA/Prerequirements.cmake b/Tests/RunCMake/CPack/ZIP_LZMA/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_LZMA/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/ZIP_LZMA/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/ZIP_LZMA/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_LZMA/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/ZIP_LZMA2/Helpers.cmake b/Tests/RunCMake/CPack/ZIP_LZMA2/Helpers.cmake new file mode 100644 index 0000000000..3710bcf6a1 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_LZMA2/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "zip") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/ZIP_LZMA2/Prerequirements.cmake b/Tests/RunCMake/CPack/ZIP_LZMA2/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_LZMA2/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/ZIP_LZMA2/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/ZIP_LZMA2/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_LZMA2/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/ZIP_STORE/Helpers.cmake b/Tests/RunCMake/CPack/ZIP_STORE/Helpers.cmake new file mode 100644 index 0000000000..3710bcf6a1 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_STORE/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "zip") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/ZIP_STORE/Prerequirements.cmake b/Tests/RunCMake/CPack/ZIP_STORE/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_STORE/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/ZIP_STORE/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/ZIP_STORE/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_STORE/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") diff --git a/Tests/RunCMake/CPack/ZIP_ZSTD/Helpers.cmake b/Tests/RunCMake/CPack/ZIP_ZSTD/Helpers.cmake new file mode 100644 index 0000000000..3710bcf6a1 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_ZSTD/Helpers.cmake @@ -0,0 +1,3 @@ +set(cpack_archive_extension_ "zip") + +include("${CMAKE_CURRENT_LIST_DIR}/../ArchiveCommon/common_helpers.cmake") diff --git a/Tests/RunCMake/CPack/ZIP_ZSTD/Prerequirements.cmake b/Tests/RunCMake/CPack/ZIP_ZSTD/Prerequirements.cmake new file mode 100644 index 0000000000..dbaf682e58 --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_ZSTD/Prerequirements.cmake @@ -0,0 +1,4 @@ +function(get_test_prerequirements found_var config_file) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endfunction() diff --git a/Tests/RunCMake/CPack/ZIP_ZSTD/packaging_COMPONENT_default.cmake b/Tests/RunCMake/CPack/ZIP_ZSTD/packaging_COMPONENT_default.cmake new file mode 100644 index 0000000000..81a5035a3d --- /dev/null +++ b/Tests/RunCMake/CPack/ZIP_ZSTD/packaging_COMPONENT_default.cmake @@ -0,0 +1 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON")