소스 검색

* Fixed building zip-files for multiple packages inside one fpmake

git-svn-id: trunk@28875 -
joost 10 년 전
부모
커밋
3866540f5a
2개의 변경된 파일13개의 추가작업 그리고 8개의 파일을 삭제
  1. 12 7
      packages/fpmkunit/src/fpmkunit.pp
  2. 1 1
      packages/gdbint/fpmake.pp

+ 12 - 7
packages/fpmkunit/src/fpmkunit.pp

@@ -1075,7 +1075,7 @@ Type
 
     // Public Copy/delete/Move/Archive/Mkdir Commands.
     Procedure ExecuteCommand(const Cmd,Args : String; const Env: TStrings = nil; IgnoreError : Boolean = False); virtual;
-    Procedure CmdCopyFiles(List : TStrings; Const DestDir : String);
+    procedure CmdCopyFiles(List: TStrings; const DestDir: String; APackage: TPackage);
     Procedure CmdCreateDir(const DestDir : String);
     Procedure CmdMoveFiles(List : TStrings; Const DestDir : String);
     Procedure CmdDeleteFiles(List : TStrings);
@@ -4955,16 +4955,21 @@ begin
 end;
 
 
-procedure TBuildEngine.CmdCopyFiles(List: TStrings; Const DestDir: String);
+procedure TBuildEngine.CmdCopyFiles(List: TStrings; Const DestDir: String; APackage : TPackage);
 
 Var
   Args : String;
   I : Integer;
   DestFileName : String;
+  SourceDir : string;
 begin
   // When the files should be written to an archive, add them
   if assigned(FZipper) then
     begin
+      if assigned(APackage) and (APackage.Directory<>'') then
+        SourceDir:=IncludeTrailingPathDelimiter(APackage.Directory)
+      else
+        SourceDir:='';
       For I:=0 to List.Count-1 do
         if List.Names[i]<>'' then
           begin
@@ -4972,10 +4977,10 @@ begin
               DestFileName:=DestDir+list.ValueFromIndex[i]
             else
               DestFileName:=list.ValueFromIndex[i];
-            FZipper.Entries.AddFileEntry(List.names[i], DestFileName);
+            FZipper.Entries.AddFileEntry(SourceDir+List.names[i], DestFileName);
           end
         else
-          FZipper.Entries.AddFileEntry(List[i], DestDir+ExtractFileName(List[i]));
+          FZipper.Entries.AddFileEntry(SourceDir+List[i], DestDir+ExtractFileName(List[i]));
       Exit;
     end;
   {$ifdef HAS_TAR_SUPPORT}
@@ -6452,7 +6457,7 @@ begin
     if (List.Count>0) then
       begin
         Result:=True;
-        CmdCopyFiles(List,Dest);
+        CmdCopyFiles(List,Dest,APackage);
       end;
   Finally
     List.Free;
@@ -6466,7 +6471,7 @@ begin
   List:=TStringList.Create;
   Try
     List.add(IncludeTrailingPathDelimiter(APackage.GetUnitConfigOutputDir(Defaults.CPU,Defaults.OS))+UnitConfigFile);
-    CmdCopyFiles(List,Dest);
+    CmdCopyFiles(List,Dest,APackage);
   Finally
     List.Free;
   end;
@@ -6483,7 +6488,7 @@ begin
     if (List.Count>0) then
       begin
         Result:=True;
-        CmdCopyFiles(List,Dest);
+        CmdCopyFiles(List,Dest,APackage);
       end;
   Finally
     List.Free;

+ 1 - 1
packages/gdbint/fpmake.pp

@@ -111,7 +111,7 @@ begin
           L.values[Installer.BuildEngine.AddPathPrefix(P,'src')+DirectorySeparator+'gdbver_nogdb.inc'] := IncludeTrailingPathDelimiter(P.Directory) +'src'+DirectorySeparator+'gdbver.inc'
         else
           L.values[Installer.BuildEngine.AddPathPrefix(P,'src')+DirectorySeparator+'gdbver_nogdb.inc'] := 'src'+DirectorySeparator+'gdbver.inc';
-        Installer.BuildEngine.cmdcopyfiles(L, Installer.BuildEngine.StartDir);
+        Installer.BuildEngine.cmdcopyfiles(L, Installer.BuildEngine.StartDir, nil);
       finally
         L.Free;
       end;