Przeglądaj źródła

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 lat temu
rodzic
commit
0f4dfa6960
1 zmienionych plików z 3 dodań i 0 usunięć
  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);