summaryrefslogtreecommitdiff
path: root/Source/CPack/cmCPackBundleGenerator.cxx
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2009-02-19 10:39:08 -0500
committerDavid Cole <david.cole@kitware.com>2009-02-19 10:39:08 -0500
commit1bf669207b2f3dcc21bd3f3f0b88535a34f4a8aa (patch)
tree74999fb92cfca79c47e86b988dcd11507465d44c /Source/CPack/cmCPackBundleGenerator.cxx
parent65c1511814ee581fc21ac06eca92145e52215427 (diff)
downloadcmake-1bf669207b2f3dcc21bd3f3f0b88535a34f4a8aa.tar.gz
BUG: A little bit more refactoring from BundleGenerator to DragNDropGenerator. See issue #8556. Thanks for Clinton Stimpson for the patch.
Diffstat (limited to 'Source/CPack/cmCPackBundleGenerator.cxx')
-rw-r--r--Source/CPack/cmCPackBundleGenerator.cxx126
1 files changed, 1 insertions, 125 deletions
diff --git a/Source/CPack/cmCPackBundleGenerator.cxx b/Source/CPack/cmCPackBundleGenerator.cxx
index 62183e62d9..a098c551f8 100644
--- a/Source/CPack/cmCPackBundleGenerator.cxx
+++ b/Source/CPack/cmCPackBundleGenerator.cxx
@@ -98,9 +98,6 @@ int cmCPackBundleGenerator::CompressFiles(const char* outFileName,
}
// Get optional arguments ...
- const std::string cpack_package_icon = this->GetOption("CPACK_PACKAGE_ICON")
- ? this->GetOption("CPACK_PACKAGE_ICON") : "";
-
const std::string cpack_bundle_startup_command =
this->GetOption("CPACK_BUNDLE_STARTUP_COMMAND")
? this->GetOption("CPACK_BUNDLE_STARTUP_COMMAND") : "";
@@ -175,126 +172,5 @@ int cmCPackBundleGenerator::CompressFiles(const char* outFileName,
cmSystemTools::SetPermissions(command_target.str().c_str(), 0777);
}
- // Add a symlink to /Applications so users can drag-and-drop the bundle
- // into it
- cmOStringStream application_link;
- application_link << staging.str() << "/Applications";
- cmSystemTools::CreateSymlink("/Applications",
- application_link.str().c_str());
-
- // Optionally add a custom volume icon ...
- if(!cpack_package_icon.empty())
- {
- cmOStringStream package_icon_source;
- package_icon_source << cpack_package_icon;
-
- cmOStringStream package_icon_destination;
- package_icon_destination << staging.str() << "/.VolumeIcon.icns";
-
- if(!this->CopyFile(package_icon_source, package_icon_destination))
- {
- cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Error copying disk volume icon. "
- "Check the value of CPACK_PACKAGE_ICON."
- << std::endl);
-
- return 0;
- }
- }
-
- // Create a temporary read-write disk image ...
- cmOStringStream temp_image;
- temp_image << this->GetOption("CPACK_TOPLEVEL_DIRECTORY") << "/temp.dmg";
-
- cmOStringStream temp_image_command;
- temp_image_command << this->GetOption("CPACK_COMMAND_HDIUTIL");
- temp_image_command << " create";
- temp_image_command << " -ov";
- temp_image_command << " -srcfolder \"" << staging.str() << "\"";
- temp_image_command << " -volname \""
- << this->GetOption("CPACK_PACKAGE_FILE_NAME") << "\"";
- temp_image_command << " -format UDRW";
- temp_image_command << " \"" << temp_image.str() << "\"";
-
- if(!this->RunCommand(temp_image_command))
- {
- cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Error generating temporary disk image."
- << std::endl);
-
- return 0;
- }
-
- // Optionally set the custom icon flag for the image ...
- if(!cpack_package_icon.empty())
- {
- cmOStringStream temp_mount;
-
- cmOStringStream attach_command;
- attach_command << this->GetOption("CPACK_COMMAND_HDIUTIL");
- attach_command << " attach";
- attach_command << " \"" << temp_image.str() << "\"";
-
- std::string attach_output;
- if(!this->RunCommand(attach_command, &attach_output))
- {
- cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Error attaching temporary disk image."
- << std::endl);
-
- return 0;
- }
-
- cmsys::RegularExpression mountpoint_regex(".*(/Volumes/[^\n]+)\n.*");
- mountpoint_regex.find(attach_output.c_str());
- temp_mount << mountpoint_regex.match(1);
-
- cmOStringStream setfile_command;
- setfile_command << this->GetOption("CPACK_COMMAND_SETFILE");
- setfile_command << " -a C";
- setfile_command << " \"" << temp_mount.str() << "\"";
-
- if(!this->RunCommand(setfile_command))
- {
- cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Error assigning custom icon to temporary disk image."
- << std::endl);
-
- return 0;
- }
-
- cmOStringStream detach_command;
- detach_command << this->GetOption("CPACK_COMMAND_HDIUTIL");
- detach_command << " detach";
- detach_command << " \"" << temp_mount.str() << "\"";
-
- if(!this->RunCommand(detach_command))
- {
- cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Error detaching temporary disk image."
- << std::endl);
-
- return 0;
- }
- }
-
- // Create the final compressed read-only disk image ...
- cmOStringStream final_image_command;
- final_image_command << this->GetOption("CPACK_COMMAND_HDIUTIL");
- final_image_command << " convert \"" << temp_image.str() << "\"";
- final_image_command << " -format UDZO";
- final_image_command << " -imagekey";
- final_image_command << " zlib-level=9";
- final_image_command << " -o \"" << outFileName << "\"";
-
- if(!this->RunCommand(final_image_command))
- {
- cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Error compressing disk image."
- << std::endl);
-
- return 0;
- }
-
- return 1;
+ return this->CreateDMG(toplevel, outFileName);
}