Bläddra i källkod

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.
David Cole 13 år sedan
förälder
incheckning
0f4dfa6960
1 ändrade filer med 3 tillägg och 0 borttagningar
  1. 3 0
      Source/CPack/cmCPackPackageMakerGenerator.cxx

+ 3 - 0
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);