From 835a3a7f5238a184d17f04e47f102d05b1a8f600 Mon Sep 17 00:00:00 2001 From: mattias Date: Mon, 18 Apr 2022 00:14:33 +0200 Subject: [PATCH] pas2js: pass PAS2JS env var to lazbuild project group compile --- components/pas2js/pjscontroller.pp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/components/pas2js/pjscontroller.pp b/components/pas2js/pjscontroller.pp index 692de1c675..25713c8a17 100644 --- a/components/pas2js/pjscontroller.pp +++ b/components/pas2js/pjscontroller.pp @@ -11,7 +11,8 @@ uses // LCL Forms, Controls, LazHelpIntf, // IdeIntf - MacroIntf, MacroDefIntf, ProjectIntf, CompOptsIntf, LazIDEIntf, + MacroIntf, MacroDefIntf, ProjectIntf, CompOptsIntf, IDEExternToolIntf, + LazIDEIntf, ProjectGroupIntf, // pas2js SimpleWebSrvController, StrPas2JSDesign, PJSDsgnOptions, CodeToolManager, CodeCache; @@ -30,6 +31,8 @@ Type procedure OnLoadSaveCustomData(Sender: TObject; Load: boolean; CustomData: TStringToStringTree; PathDelimChanged: boolean); function OnProjectBuilding(Sender: TObject): TModalResult; + function OnProjectGroupRunLazbuild({%H-}Target: TPGCompileTarget; + Tool: TAbstractExternalTool): boolean; function OnRunDebugInit(Sender: TObject; var Handled: boolean ): TModalResult; function OnRunWithoutDebugInit(Sender: TObject; var Handled: boolean): TModalResult; @@ -173,6 +176,17 @@ begin end; end; +function TPJSController.OnProjectGroupRunLazbuild(Target: TPGCompileTarget; + Tool: TAbstractExternalTool): boolean; +var + Pas2jsFilename: String; +begin + Result:=true; + Pas2jsFilename:=PJSOptions.GetParsedCompilerFilename; + if Pas2jsFilename<>'' then + Tool.EnvironmentOverrides.Values['PAS2JS']:=Pas2jsFilename; +end; + function TPJSController.OnRunDebugInit(Sender: TObject; var Handled: boolean ): TModalResult; begin @@ -416,6 +430,7 @@ begin LazarusIDE.AddHandlerOnRunDebugInit(@OnRunDebugInit); LazarusIDE.AddHandlerOnRunWithoutDebugInit(@OnRunWithoutDebugInit); LazarusIDE.AddHandlerOnLoadSaveCustomData(@OnLoadSaveCustomData); + ProjectGroupManager.AddHandlerOnRunLazbuild(@OnProjectGroupRunLazbuild); end; procedure TPJSController.UnHook;