浏览代码

Use Defaults.SourceOS for Exe extension choice and only call git if found

Pierre Muller 3 周之前
父节点
当前提交
0b697baa8b
共有 1 个文件被更改,包括 22 次插入17 次删除
  1. 22 17
      packages/ide/fpmake.pp

+ 22 - 17
packages/ide/fpmake.pp

@@ -25,23 +25,28 @@ procedure ide_check_gdb_availability(Sender: TObject);
      Cmd : string;
       Opts : TStringList;
     begin
-      Cmd:=ExeSearch(AddProgramExtension('git',Defaults.OS),{$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}SysUtils.GetEnvironmentVariable('PATH'));
-      Opts:=TStringList.Create;
-      try
-        try
-          Opts.Add('log');
-          Opts.Add('-1');
-          Opts.Add('--pretty=%cd');
-          Opts.Add('--date=format:%Y/%m/%d');
-          CompilerGitDate:=Installer.BuildEngine.GetExecuteCommandOutput(Cmd,Opts);
-          while (length(CompilerGitDate)>0) and (CompilerGitDate[length(CompilerGitDate)] in [#10,#13]) do
-            SetLength(CompilerGitDate,length(CompilerGitDate)-1);
-        except
-          CompilerGitDate:={$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}SysUtils.GetEnvironmentVariable('COMPDATESTR');
-	end;
-      finally
-        Opts.Free;
-      end;
+      Cmd:=ExeSearch(AddProgramExtension('git',Defaults.SourceOS),{$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}SysUtils.GetEnvironmentVariable('PATH'));
+      if Cmd <> '' then
+        begin
+          Opts:=TStringList.Create;
+          try
+            try
+              Opts.Add('log');
+              Opts.Add('-1');
+              Opts.Add('--pretty=%cd');
+              Opts.Add('--date=format:%Y/%m/%d');
+              CompilerGitDate:=Installer.BuildEngine.GetExecuteCommandOutput(Cmd,Opts);
+              while (length(CompilerGitDate)>0) and (CompilerGitDate[length(CompilerGitDate)] in [#10,#13]) do
+                SetLength(CompilerGitDate,length(CompilerGitDate)-1);
+            except
+              CompilerGitDate:={$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}SysUtils.GetEnvironmentVariable('COMPDATESTR');
+	    end;
+          finally
+            Opts.Free;
+          end;
+        end
+      else
+        CompilerGitDate:={$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}SysUtils.GetEnvironmentVariable('COMPDATESTR');
     end;
 
   function DetectLibGDBDir: string;