From f163751e051bce7034cb5affc85d1f7fb06b0e8b Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Tue, 7 Apr 2020 22:02:06 +0200 Subject: [PATCH] fix #20 - Try to automatically add ldc import folder when ldc binary is set manually --- src/u_compilers.pas | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/u_compilers.pas b/src/u_compilers.pas index 5b871135..2648576d 100644 --- a/src/u_compilers.pas +++ b/src/u_compilers.pas @@ -126,6 +126,7 @@ type fPaths: TCompilersPaths; fPathsBackup: TCompilersPaths; fProj: ICommonProject; + procedure tryLdcImportFromLdcExeName(); procedure editedExe(sender: TObject); procedure editedRt(sender: TObject); procedure editedStd(sender: TObject); @@ -719,6 +720,23 @@ begin end; end; +procedure TCompilersPathsEditor.tryLdcImportFromLdcExeName(); +var + d: string; + i: string; +begin + if not fPaths.LdcExeName.fileExists then + exit; + d := fPaths.LdcExeName.extractFileDir.extractFileDir; + i := d + DirectorySeparator + 'import'; + if (i + DirectorySeparator + 'object.d').fileExists and + selLDCrt.Directory.isEmpty then + begin + selLDCrt.Directory := i; + fPaths.LdcRuntimePath := i; + end; +end; + procedure TCompilersPathsEditor.selectedExe(sender: TObject; var value: string); var ctrl: TWinControl; @@ -746,7 +764,10 @@ begin else if ctrl.Parent = grpGDC then fPaths.GDCExeName:=selGDCexe.FileName else if ctrl.Parent = grpLDC then - fPaths.LdcExeName:=selLDCexe.FileName + begin + fPaths.LdcExeName:=selLDCexe.FileName; + tryLdcImportFromLdcExeName; + end else if ctrl.Parent = grpUSER1 then fPaths.User1ExeName:=selUSER1exe.FileName else if ctrl.Parent = grpUSER2 then