CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452)

One should set CPACK_ARCHIVE_COMPONENT_INSTALL=1 in order to
trigger component install for ARCHIVE generators
This commit is contained in:
Eric NOULARD 2010-11-29 18:57:24 +01:00
parent bd44b2cc5b
commit d0eb89c17b
1 changed files with 28 additions and 16 deletions

View File

@ -228,21 +228,23 @@ int cmCPackArchiveGenerator::PackageFiles()
PrepareGroupingKind(); PrepareGroupingKind();
// CASE 1 : COMPONENT ALL-IN-ONE package if (SupportsComponentInstallation()) {
// If ALL GROUPS or ALL COMPONENTS in ONE package has been requested // CASE 1 : COMPONENT ALL-IN-ONE package
// then the package file is unique and should be open here. // If ALL GROUPS or ALL COMPONENTS in ONE package has been requested
if (allComponentInOne || (allGroupInOne && (!this->ComponentGroups.empty()))) // then the package file is unique and should be open here.
{ if (allComponentInOne || (allGroupInOne && (!this->ComponentGroups.empty())))
return PackageComponentsAllInOne(allComponentInOne); {
} return PackageComponentsAllInOne(allComponentInOne);
// CASE 2 : COMPONENT CLASSICAL package(s) (i.e. not all-in-one) }
// There will be 1 package for each component group // CASE 2 : COMPONENT CLASSICAL package(s) (i.e. not all-in-one)
// however one may require to ignore component group and // There will be 1 package for each component group
// in this case you'll get 1 package for each component. // however one may require to ignore component group and
else if ((!this->ComponentGroups.empty()) || (ignoreComponentGroup)) // in this case you'll get 1 package for each component.
{ else if ((!this->ComponentGroups.empty()) || (ignoreComponentGroup))
return PackageComponents(ignoreComponentGroup); {
} return PackageComponents(ignoreComponentGroup);
}
}
// CASE 3 : NON COMPONENT package. // CASE 3 : NON COMPONENT package.
DECLARE_AND_OPEN_ARCHIVE(packageFileNames[0],archive); DECLARE_AND_OPEN_ARCHIVE(packageFileNames[0],archive);
@ -278,5 +280,15 @@ int cmCPackArchiveGenerator::GenerateHeader(std::ostream*)
} }
bool cmCPackArchiveGenerator::SupportsComponentInstallation() const { bool cmCPackArchiveGenerator::SupportsComponentInstallation() const {
return true; // The Component installation support should only
// be activated if explicitly requested by the user
// (for backward compatibility reason)
if (IsSet("CPACK_ARCHIVE_COMPONENT_INSTALL"))
{
return true;
}
else
{
return false;
}
} }