diff options
author | David Cole <david.cole@kitware.com> | 2009-02-19 15:39:08 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2009-02-19 15:39:08 (GMT) |
commit | 1bf669207b2f3dcc21bd3f3f0b88535a34f4a8aa (patch) | |
tree | 74999fb92cfca79c47e86b988dcd11507465d44c /Source/CPack/cmCPackBundleGenerator.cxx | |
parent | 65c1511814ee581fc21ac06eca92145e52215427 (diff) | |
download | CMake-1bf669207b2f3dcc21bd3f3f0b88535a34f4a8aa.zip CMake-1bf669207b2f3dcc21bd3f3f0b88535a34f4a8aa.tar.gz CMake-1bf669207b2f3dcc21bd3f3f0b88535a34f4a8aa.tar.bz2 |
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.cxx | 126 |
1 files changed, 1 insertions, 125 deletions
diff --git a/Source/CPack/cmCPackBundleGenerator.cxx b/Source/CPack/cmCPackBundleGenerator.cxx index 62183e6..a098c55 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); } |