mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-25 07:58:59 -06:00
CPack: allow custom file extension in archive generator
This commit is contained in:
committed by
Brad King
parent
5d0685aa3e
commit
cc3cd8bc2a
@@ -57,6 +57,12 @@ Variables specific to CPack Archive generator
|
|||||||
.. versionadded:: 3.9
|
.. versionadded:: 3.9
|
||||||
Per-component ``CPACK_ARCHIVE_<component>_FILE_NAME`` variables.
|
Per-component ``CPACK_ARCHIVE_<component>_FILE_NAME`` variables.
|
||||||
|
|
||||||
|
.. variable:: CPACK_ARCHIVE_FILE_EXTENSION
|
||||||
|
|
||||||
|
.. versionadded:: 3.25
|
||||||
|
|
||||||
|
Package file extension. Default values are given in the list above.
|
||||||
|
|
||||||
.. variable:: CPACK_ARCHIVE_COMPONENT_INSTALL
|
.. variable:: CPACK_ARCHIVE_COMPONENT_INSTALL
|
||||||
|
|
||||||
Enable component packaging. If enabled (ON), then the archive generator
|
Enable component packaging. If enabled (ON), then the archive generator
|
||||||
|
|||||||
6
Help/release/dev/cpack-archive-custom-extension.rst
Normal file
6
Help/release/dev/cpack-archive-custom-extension.rst
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
cpack-archive-custom-extension
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
* The :cpack_gen:`CPack Archive Generator` gained a new
|
||||||
|
:variable:`CPACK_ARCHIVE_FILE_EXTENSION` variable to control
|
||||||
|
the package file name extension.
|
||||||
@@ -94,6 +94,18 @@ std::string cmCPackArchiveGenerator::GetArchiveComponentFileName(
|
|||||||
int cmCPackArchiveGenerator::InitializeInternal()
|
int cmCPackArchiveGenerator::InitializeInternal()
|
||||||
{
|
{
|
||||||
this->SetOptionIfNotSet("CPACK_INCLUDE_TOPLEVEL_DIRECTORY", "1");
|
this->SetOptionIfNotSet("CPACK_INCLUDE_TOPLEVEL_DIRECTORY", "1");
|
||||||
|
cmValue newExtensionValue = this->GetOption("CPACK_ARCHIVE_FILE_EXTENSION");
|
||||||
|
if (!newExtensionValue.IsEmpty()) {
|
||||||
|
std::string newExtension = *newExtensionValue;
|
||||||
|
if (!cmHasLiteralPrefix(newExtension, ".")) {
|
||||||
|
newExtension = cmStrCat('.', newExtension);
|
||||||
|
}
|
||||||
|
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
||||||
|
"Using user-provided file extension "
|
||||||
|
<< newExtension << " instead of the default "
|
||||||
|
<< this->OutputExtension << std::endl);
|
||||||
|
this->OutputExtension = std::move(newExtension);
|
||||||
|
}
|
||||||
return this->Superclass::InitializeInternal();
|
return this->Superclass::InitializeInternal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user