cpack: For DragNDrop generator, add sysroot option when calling Rez.

Also adding overwrite option (-ov) in case multiple temporary
dmg files are being created.

Fixes bug #14536.
This commit is contained in:
Clinton Stimpson 2013-10-31 20:14:58 -06:00
parent 7a616e75b8
commit 193029c4aa
4 changed files with 16 additions and 2 deletions

View File

@ -519,6 +519,11 @@ cpack_set_if_not_set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
# WiX specific variables # WiX specific variables
cpack_set_if_not_set(CPACK_WIX_SIZEOF_VOID_P "${CMAKE_SIZEOF_VOID_P}") cpack_set_if_not_set(CPACK_WIX_SIZEOF_VOID_P "${CMAKE_SIZEOF_VOID_P}")
# osx sysroot
if(CMAKE_OSX_SYSROOT)
set(CPACK_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}")
endif()
if(DEFINED CPACK_COMPONENTS_ALL) if(DEFINED CPACK_COMPONENTS_ALL)
if(CPACK_MONOLITHIC_INSTALL) if(CPACK_MONOLITHIC_INSTALL)
message("CPack warning: both CPACK_COMPONENTS_ALL and CPACK_MONOLITHIC_INSTALL have been set.\nDefaulting to a monolithic installation.") message("CPack warning: both CPACK_COMPONENTS_ALL and CPACK_MONOLITHIC_INSTALL have been set.\nDefaulting to a monolithic installation.")

View File

@ -474,7 +474,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
udco_image_command << this->GetOption("CPACK_COMMAND_HDIUTIL"); udco_image_command << this->GetOption("CPACK_COMMAND_HDIUTIL");
udco_image_command << " convert \"" << temp_image << "\""; udco_image_command << " convert \"" << temp_image << "\"";
udco_image_command << " -format UDCO"; udco_image_command << " -format UDCO";
udco_image_command << " -o \"" << temp_udco << "\""; udco_image_command << " -ov -o \"" << temp_udco << "\"";
std::string error; std::string error;
if(!this->RunCommand(udco_image_command, &error)) if(!this->RunCommand(udco_image_command, &error))
@ -504,6 +504,11 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
// Rez the SLA // Rez the SLA
cmOStringStream embed_sla_command; cmOStringStream embed_sla_command;
embed_sla_command << this->GetOption("CPACK_COMMAND_REZ"); embed_sla_command << this->GetOption("CPACK_COMMAND_REZ");
const char* sysroot = this->GetOption("CPACK_OSX_SYSROOT");
if(sysroot)
{
embed_sla_command << " -isysroot \"" << sysroot << "\"";
}
embed_sla_command << " \"" << sla_r << "\""; embed_sla_command << " \"" << sla_r << "\"";
embed_sla_command << " -a -o "; embed_sla_command << " -a -o ";
embed_sla_command << "\"" << temp_udco << "\""; embed_sla_command << "\"" << temp_udco << "\"";

View File

@ -59,6 +59,7 @@ set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "0") set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "2") set(CPACK_PACKAGE_VERSION_PATCH "2")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CPack Component Example") set(CPACK_PACKAGE_INSTALL_DIRECTORY "CPack Component Example")
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/license.txt)
# Tell CPack all of the components to install. The "ALL" # Tell CPack all of the components to install. The "ALL"
# refers to the fact that this is the set of components that # refers to the fact that this is the set of components that

View File

@ -0,0 +1,3 @@
LICENSE
-------
This is an installer created using CPack (http://www.cmake.org). No license provided.