summaryrefslogtreecommitdiffstats
path: root/Source/CPack
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2012-03-13 18:01:19 (GMT)
committerDavid Cole <david.cole@kitware.com>2012-03-13 18:01:19 (GMT)
commit0f4dfa6960e51b7460b91f828932a42d5827467a (patch)
tree4897652a443c4bbf90e202adb5305918e5045ab3 /Source/CPack
parent4693cf84927850da0c10aae4308363fdc5890379 (diff)
downloadCMake-0f4dfa6960e51b7460b91f828932a42d5827467a.zip
CMake-0f4dfa6960e51b7460b91f828932a42d5827467a.tar.gz
CMake-0f4dfa6960e51b7460b91f828932a42d5827467a.tar.bz2
CPack: Use real path to PackageMaker to find its version file (#12621)
On machines where a usr/bin/packagemaker symlink is found, we were unable to find the version.plist file relative to the symlink. Resolve the symlink first, so we can find it relative to the real PackageMaker.
Diffstat (limited to 'Source/CPack')
-rw-r--r--Source/CPack/cmCPackPackageMakerGenerator.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackPackageMakerGenerator.cxx b/Source/CPack/cmCPackPackageMakerGenerator.cxx
index 1633482..7d00452 100644
--- a/Source/CPack/cmCPackPackageMakerGenerator.cxx
+++ b/Source/CPack/cmCPackPackageMakerGenerator.cxx
@@ -402,6 +402,9 @@ int cmCPackPackageMakerGenerator::InitializeInternal()
this->SetOptionIfNotSet("CPACK_INSTALLER_PROGRAM", pkgPath.c_str());
}
+ // Get path to the real PackageMaker, not a symlink:
+ pkgPath = cmSystemTools::GetRealPath(pkgPath.c_str());
+ // Up from there to find the version.plist file in the "Contents" dir:
std::string contents_dir;
contents_dir = cmSystemTools::GetFilenamePath(pkgPath);
contents_dir = cmSystemTools::GetFilenamePath(contents_dir);