From c47bbec585b3854976bea34bd0d831d3533819a0 Mon Sep 17 00:00:00 2001 From: mattias Date: Fri, 4 Dec 2009 11:27:01 +0000 Subject: [PATCH] IDE: added macro IDEBuildOptions git-svn-id: trunk@22954 - --- ide/buildmanager.pas | 75 ++++++++++++++++++++++--------------- ide/lazarusidestrconsts.pas | 1 + 2 files changed, 46 insertions(+), 30 deletions(-) diff --git a/ide/buildmanager.pas b/ide/buildmanager.pas index 1cf12bb28b..09b2a4f4af 100644 --- a/ide/buildmanager.pas +++ b/ide/buildmanager.pas @@ -57,46 +57,48 @@ type function OnSubstituteCompilerOption(Options: TParsedCompilerOptions; const UnparsedValue: string; PlatformIndependent: boolean): string; - function MacroFuncMakeExe(const Filename: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncProject(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncLCLWidgetType(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncTargetCPU(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncTargetOS(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncSrcOS(const Param: string; const Data: PtrInt; - var Abort: boolean): string; + function MacroFuncEnv(const Param: string; const Data: PtrInt; + var Abort: boolean): string; function MacroFuncFPCVer(const Param: string; const Data: PtrInt; var Abort: boolean): string; + function MacroFuncLCLWidgetType(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncMake(const Param: string; const Data: PtrInt; + var Abort: boolean): string;// make utility + function MacroFuncMakeExe(const Filename: string; const Data: PtrInt; + var Abort: boolean): string; function MacroFuncParams(const Param: string; const Data: PtrInt; var Abort: boolean): string; + function MacroFuncProject(const Param: string; const Data: PtrInt; + var Abort: boolean): string; function MacroFuncProjFile(const Param: string; const Data: PtrInt; var Abort: boolean): string; - function MacroFuncProjPath(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncTargetFile(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncTargetCmdLine(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncRunCmdLine(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncProjPublishDir(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncProjUnitPath(const Param: string; const Data: PtrInt; - var Abort: boolean): string; function MacroFuncProjIncPath(const Param: string; const Data: PtrInt; var Abort: boolean): string; - function MacroFuncProjSrcPath(const Param: string; const Data: PtrInt; - var Abort: boolean): string; function MacroFuncProjOutDir(const Param: string; const Data: PtrInt; var Abort: boolean): string; - function MacroFuncEnv(const Param: string; const Data: PtrInt; - var Abort: boolean): string; - function MacroFuncMake(const Param: string; const Data: PtrInt; - var Abort: boolean): string;// make utility + function MacroFuncProjPath(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncProjPublishDir(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncProjSrcPath(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncProjUnitPath(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncRunCmdLine(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncSrcOS(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncTargetCmdLine(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncTargetCPU(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncTargetFile(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncTargetOS(const Param: string; const Data: PtrInt; + var Abort: boolean): string; + function MacroFuncIDEBuildOptions(const Param: string; const Data: PtrInt; + var Abort: boolean): string; function CTMacroFuncProjectUnitPath(Data: Pointer): boolean; function CTMacroFuncProjectIncPath(Data: Pointer): boolean; function CTMacroFuncProjectSrcPath(Data: Pointer): boolean; @@ -276,6 +278,8 @@ begin lisMakeExe,@MacroFuncMakeExe,[])); GlobalMacroList.Add(TTransferMacro.Create('Make','', lisPathOfTheMakeUtility, @MacroFuncMake, [])); + GlobalMacroList.Add(TTransferMacro.Create('IDEBuildOptions','', + lisIDEBuildOptions, @MacroFuncIDEBuildOptions, [])); // codetools macro functions CodeToolBoss.DefineTree.MacroFunctions.AddExtended( @@ -1201,6 +1205,17 @@ begin Result:=GetTargetOS(true); end; +function TBuildManager.MacroFuncIDEBuildOptions(const Param: string; + const Data: PtrInt; var Abort: boolean): string; +begin + if (MiscellaneousOptions<>nil) + and (MiscellaneousOptions.BuildLazOpts<>nil) + then + Result:=MiscellaneousOptions.BuildLazOpts.ExtraOptions + else + Result:=''; +end; + function TBuildManager.MacroFuncSrcOS(const Param: string; const Data: PtrInt; var Abort: boolean): string; begin diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 9df8da6e7e..214423212b 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -4560,6 +4560,7 @@ resourcestring +'options to build Lazarus is not supported by this installation.%sThe ' +'directory %s%s%s is not writable.%sSee the Lazarus website for other ' +'ways to install Lazarus.'; + lisIDEBuildOptions = 'IDE build options'; implementation