From 39d1343896847d2e5dbd94ceaaa3033dd53bdd17 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 2 Jul 2007 11:31:10 -0400 Subject: BUG: Fix install_name_tool update of the executable in an installed bundle on OSX. This addresses bug#4534. --- Source/cmInstallTargetGenerator.cxx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx index 9df0a04..15a8991 100644 --- a/Source/cmInstallTargetGenerator.cxx +++ b/Source/cmInstallTargetGenerator.cxx @@ -178,6 +178,13 @@ cmInstallTargetGenerator const char* config, Indent const& indent) { + // Compute the full path to the main installed file for this target. + std::string toFullPath = "$ENV{DESTDIR}"; + toFullPath += this->Destination; + toFullPath += "/"; + toFullPath += this->GetInstallFilename(this->Target, config, + this->ImportLibrary, false); + // Compute the list of files to install for this target. std::vector files; std::string literal_args; @@ -214,6 +221,9 @@ cmInstallTargetGenerator from1 += ".app"; files.push_back(from1); type = cmTarget::INSTALL_DIRECTORY; + toFullPath += ".app/Contents/MacOS/"; + toFullPath += this->GetInstallFilename(this->Target, config, + this->ImportLibrary, false); literal_args += " USE_SOURCE_PERMISSIONS"; // TODO: Still need to apply install_name_tool and stripping // to binaries inside bundle. @@ -284,12 +294,6 @@ cmInstallTargetGenerator no_rename, literal_args.c_str(), indent); - std::string toFullPath = "$ENV{DESTDIR}"; - toFullPath += this->Destination; - toFullPath += "/"; - toFullPath += this->GetInstallFilename(this->Target, config, - this->ImportLibrary, false); - os << indent << "IF(EXISTS \"" << toFullPath << "\")\n"; this->AddInstallNamePatchRule(os, indent.Next(), config, toFullPath); this->AddRanlibRule(os, indent.Next(), type, toFullPath); -- cgit v0.12