|
|
@@ -58,6 +58,17 @@ std::vector<std::string> cmCPackIFWGenerator::BuildRepogenCommand()
|
|
|
|
|
|
ifwCmd.emplace_back(this->RepoGen);
|
|
|
|
|
|
+ if (!this->IsVersionLess("4.2")) {
|
|
|
+ if (!this->ArchiveFormat.empty()) {
|
|
|
+ ifwCmd.emplace_back("--archive-format");
|
|
|
+ ifwCmd.emplace_back(this->ArchiveFormat);
|
|
|
+ }
|
|
|
+ if (!this->ArchiveCompression.empty()) {
|
|
|
+ ifwCmd.emplace_back("--compression");
|
|
|
+ ifwCmd.emplace_back(this->ArchiveCompression);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (this->IsVersionLess("2.0.0")) {
|
|
|
ifwCmd.emplace_back("-c");
|
|
|
ifwCmd.emplace_back(this->toplevel + "/config/config.xml");
|
|
|
@@ -157,6 +168,17 @@ std::vector<std::string> cmCPackIFWGenerator::BuildBinaryCreatorCommmand()
|
|
|
|
|
|
ifwCmd.emplace_back(this->BinCreator);
|
|
|
|
|
|
+ if (!this->IsVersionLess("4.2")) {
|
|
|
+ if (!this->ArchiveFormat.empty()) {
|
|
|
+ ifwCmd.emplace_back("--archive-format");
|
|
|
+ ifwCmd.emplace_back(this->ArchiveFormat);
|
|
|
+ }
|
|
|
+ if (!this->ArchiveCompression.empty()) {
|
|
|
+ ifwCmd.emplace_back("--compression");
|
|
|
+ ifwCmd.emplace_back(this->ArchiveCompression);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
ifwCmd.emplace_back("-c");
|
|
|
ifwCmd.emplace_back(this->toplevel + "/config/config.xml");
|
|
|
|
|
|
@@ -354,6 +376,14 @@ int cmCPackIFWGenerator::InitializeInternal()
|
|
|
cmExpandList(dirs, this->RepoDirsVector);
|
|
|
}
|
|
|
|
|
|
+ // Archive format and compression level
|
|
|
+ if (cmValue af = this->GetOption("CPACK_IFW_ARCHIVE_FORMAT")) {
|
|
|
+ this->ArchiveFormat = *af;
|
|
|
+ }
|
|
|
+ if (cmValue ac = this->GetOption("CPACK_IFW_ARCHIVE_COMPRESSION")) {
|
|
|
+ this->ArchiveCompression = *ac;
|
|
|
+ }
|
|
|
+
|
|
|
// Installer
|
|
|
this->Installer.Generator = this;
|
|
|
this->Installer.ConfigureFromOptions();
|