瀏覽代碼

BUG: Fixed generation of installation manifest to account for library versioning symlinks. Also removed DESTDIR prefix from generated manifest.

Brad King 21 年之前
父節點
當前提交
b8917c7e6c
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      Source/cmFileCommand.cxx

+ 8 - 1
Source/cmFileCommand.cxx

@@ -340,6 +340,7 @@ bool cmFileCommand::HandleInstallCommand(
     return false;
     }
 
+  int destDirLength = 0;
   if ( destdir && *destdir )
     {
     std::string sdestdir = destdir;
@@ -393,6 +394,7 @@ bool cmFileCommand::HandleInstallCommand(
         }
       }
     destination = sdestdir + (destination.c_str() + skip);
+    destDirLength = int(sdestdir.size());
     }
 
   if ( files.size() == 0 )
@@ -517,6 +519,8 @@ bool cmFileCommand::HandleInstallCommand(
             this->SetError(errstring.c_str());
             return false;
             }
+          smanifest_files += ";";
+          smanifest_files += libname.substr(destDirLength);;
           if ( destfile != soname )
             {
             if ( !cmSystemTools::CreateSymlink(fname.c_str(), soname.c_str()) )
@@ -525,6 +529,8 @@ bool cmFileCommand::HandleInstallCommand(
               this->SetError(errstring.c_str());
               return false;
               }
+            smanifest_files += ";";
+            smanifest_files += soname.substr(destDirLength);
             }
           }
         cmOStringStream str;
@@ -586,7 +592,8 @@ bool cmFileCommand::HandleInstallCommand(
             perror(err.str().c_str());
             }
           }
-        smanifest_files += ";" + destfile;
+        smanifest_files += ";";
+        smanifest_files += destfile.substr(destDirLength);
         }
       else
         {