1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-18 17:31:57 +08:00

productbuild: Don't write rootVolumeOnly attribute if writing domains

The rootVolumeOnly attribute is deprecated. Apple docs say to use
domains instead.

Fixes: #23343
This commit is contained in:
Craig Scott
2022-03-21 15:42:46 +11:00
parent 95eb8cbcfc
commit 2a8df7e7db
2 changed files with 14 additions and 5 deletions

View File

@@ -4,6 +4,5 @@
<welcome file="@CPACK_RESOURCE_FILE_WELCOME_NOPATH@"/>
<readme file="@CPACK_RESOURCE_FILE_README_NOPATH@"/>
<license file="@CPACK_RESOURCE_FILE_LICENSE_NOPATH@"/>
<options allow-external-scripts="no" customize="allow" rootVolumeOnly="false"></options>
@CPACK_PACKAGEMAKER_CHOICES@
@CPACK_APPLE_PKG_INSTALLER_CONTENT@
</installer-gui-script>

View File

@@ -120,10 +120,20 @@ void cmCPackPKGGenerator::WriteDistributionFile(const char* metapackageFile,
std::string distributionFile =
cmStrCat(metapackageFile, "/Contents/distribution.dist");
std::ostringstream xContents;
cmXMLWriter xout(xContents, 1);
// Installer-wide options
xout.StartElement("options");
xout.Attribute("allow-external-scripts", "no");
xout.Attribute("customize", "allow");
if (cmIsOff(this->GetOption("CPACK_PRODUCTBUILD_DOMAINS"))) {
xout.Attribute("rootVolumeOnly", "false");
}
xout.EndElement();
// Create the choice outline, which provides a tree-based view of
// the components in their groups.
std::ostringstream choiceOut;
cmXMLWriter xout(choiceOut, 1);
xout.StartElement("choices-outline");
// Emit the outline for the groups
@@ -169,7 +179,7 @@ void cmCPackPKGGenerator::WriteDistributionFile(const char* metapackageFile,
// Dark Aqua
this->CreateBackground("darkAqua", metapackageFile, genName, xout);
this->SetOption("CPACK_PACKAGEMAKER_CHOICES", choiceOut.str());
this->SetOption("CPACK_APPLE_PKG_INSTALLER_CONTENT", xContents.str());
// Create the distribution.dist file in the metapackage to turn it
// into a distribution package.