mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 04:40:56 -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
|
||||
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
|
||||
|
||||
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()
|
||||
{
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user