Bläddra i källkod

CPack: Fix .dmg HFS+ creation on macOS APFS hosts

When running `hdiutil create`, specify the HFS+ filesystem explicitly.
Otherwise `hdiutil` may choose a filesystem based on the host.  We do
not want to create APFS images for `.dmg` packages because they may not
mount on macOS versions prior to 10.12.
Brad King 8 år sedan
förälder
incheckning
39b50975d9

+ 1 - 0
Source/CPack/cmCPackDragNDropGenerator.cxx

@@ -417,6 +417,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
   temp_image_command << " -ov";
   temp_image_command << " -srcfolder \"" << staging.str() << "\"";
   temp_image_command << " -volname \"" << cpack_dmg_volume_name << "\"";
+  temp_image_command << " -fs HFS+";
   temp_image_command << " -format " << temp_image_format;
   temp_image_command << " \"" << temp_image << "\"";
 

+ 2 - 2
Source/CPack/cmCPackOSXX11Generator.cxx

@@ -144,8 +144,8 @@ int cmCPackOSXX11Generator::PackageFiles()
   tmpFile += "/hdiutilOutput.log";
   std::ostringstream dmgCmd;
   dmgCmd << "\"" << this->GetOption("CPACK_INSTALLER_PROGRAM_DISK_IMAGE")
-         << "\" create -ov -format UDZO -srcfolder \"" << diskImageDirectory
-         << "\" \"" << packageFileNames[0] << "\"";
+         << "\" create -ov -fs HFS+ -format UDZO -srcfolder \""
+         << diskImageDirectory << "\" \"" << packageFileNames[0] << "\"";
   cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Compress disk image using command: "
                   << dmgCmd.str() << std::endl);
   // since we get random dashboard failures with this one