diff --git a/ide/buildmanager.pas b/ide/buildmanager.pas index a2a1f9b43c..b792b4e777 100644 --- a/ide/buildmanager.pas +++ b/ide/buildmanager.pas @@ -67,6 +67,8 @@ type var Abort: boolean): string; function MacroFuncTargetOS(const Param: string; const Data: PtrInt; var Abort: boolean): string; + function MacroFuncFPCVer(const Param: string; const Data: PtrInt; + var Abort: boolean): string; function MacroFuncParams(const Param: string; const Data: PtrInt; var Abort: boolean): string; function MacroFuncProjFile(const Param: string; const Data: PtrInt; @@ -222,6 +224,8 @@ begin lisTargetCPU,@MacroFuncTargetCPU,[])); GlobalMacroList.Add(TTransferMacro.Create('TargetOS','', lisTargetOS,@MacroFuncTargetOS,[])); + GlobalMacroList.Add(TTransferMacro.Create('FPCVer','', + lisFPCVersionEG222, @MacroFuncFPCVer, [])); GlobalMacroList.Add(TTransferMacro.Create('Params','', lisCommandLineParamsOfProgram,@MacroFuncParams,[])); GlobalMacroList.Add(TTransferMacro.Create('ProjFile','', @@ -1075,6 +1079,20 @@ begin Result:=GetTargetOS(true); end; +function TBuildManager.MacroFuncFPCVer(const Param: string; const Data: PtrInt; + var Abort: boolean): string; +var + FPCVersion, FPCRelease, FPCPatch: integer; +begin + Result:={$I version.inc}; + if CodeToolBoss<>nil then begin + CodeToolBoss.GetFPCVersionForDirectory('',FPCVersion,FPCRelease,FPCPatch); + if FPCVersion<>0 then begin + Result:=IntToStr(FPCVersion)+'.'+IntToStr(FPCRelease)+'.'+IntToStr(FPCPatch); + end; + end; +end; + function TBuildManager.MacroFuncParams(const Param: string; const Data: PtrInt; var Abort: boolean): string; begin diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index f3eb77894c..271d0bd338 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -3851,6 +3851,7 @@ resourcestring lisDeleteOldFile2 = 'Delete old file?'; lisTheUnitSearchPathOfContainsTheSourceDirectoryOfPac = 'The unit search ' +'path of %s%s%s contains the source directory %s%s%s of package %s'; + lisFPCVersionEG222 = 'FPC Version (e.g. 2.2.2)'; implementation