mirror of https://gitlab.com/basile.b/dexed.git
implement #65, allow runnables to be compiled with other compilos
close #65
This commit is contained in:
parent
f1f2ad6b7e
commit
b3e03cf168
|
@ -224,6 +224,7 @@ type
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
fRunnableCompiler: TCECompiler;
|
||||||
fRunnableDestination: string;
|
fRunnableDestination: string;
|
||||||
fSymStringExpander: ICESymStringExpander;
|
fSymStringExpander: ICESymStringExpander;
|
||||||
fCovModUt: boolean;
|
fCovModUt: boolean;
|
||||||
|
@ -421,8 +422,10 @@ type
|
||||||
function getAdditionalPATH: string;
|
function getAdditionalPATH: string;
|
||||||
procedure setAdditionalPATH(const value: string);
|
procedure setAdditionalPATH(const value: string);
|
||||||
function getDubCompiler: TCECompiler;
|
function getDubCompiler: TCECompiler;
|
||||||
function getNativeProjecCompiler: TCECompiler;
|
|
||||||
procedure setDubCompiler(value: TCECompiler);
|
procedure setDubCompiler(value: TCECompiler);
|
||||||
|
function getRunnableCompiler: TCECompiler;
|
||||||
|
procedure setRunnableCompiler(value: TCECompiler);
|
||||||
|
function getNativeProjecCompiler: TCECompiler;
|
||||||
procedure setNativeProjecCompiler(value: TCECompiler);
|
procedure setNativeProjecCompiler(value: TCECompiler);
|
||||||
procedure setRunnableDestination(const value: TCEPathname);
|
procedure setRunnableDestination(const value: TCEPathname);
|
||||||
published
|
published
|
||||||
|
@ -434,6 +437,7 @@ type
|
||||||
property maxRecentDocuments: integer read fMaxRecentDocs write fMaxRecentDocs;
|
property maxRecentDocuments: integer read fMaxRecentDocs write fMaxRecentDocs;
|
||||||
property dubCompiler: TCECompiler read getDubCompiler write setDubCompiler;
|
property dubCompiler: TCECompiler read getDubCompiler write setDubCompiler;
|
||||||
property nativeProjecCompiler: TCECompiler read getNativeProjecCompiler write setNativeProjecCompiler;
|
property nativeProjecCompiler: TCECompiler read getNativeProjecCompiler write setNativeProjecCompiler;
|
||||||
|
property runnableCompiler: TCECompiler read getRunnableCompiler write setRunnableCompiler;
|
||||||
property runnableDestination: TCEPathname read fRunnableDest write setRunnableDestination;
|
property runnableDestination: TCEPathname read fRunnableDest write setRunnableDestination;
|
||||||
property runnableDestinationAlways: boolean read fAlwaysUseDest write fAlwaysUseDest;
|
property runnableDestinationAlways: boolean read fAlwaysUseDest write fAlwaysUseDest;
|
||||||
property dscanUnittests: boolean read fDscanUnittests write fDscanUnittests default true;
|
property dscanUnittests: boolean read fDscanUnittests write fDscanUnittests default true;
|
||||||
|
@ -496,6 +500,22 @@ begin
|
||||||
ce_nativeproject.setNativeProjectCompiler(value);
|
ce_nativeproject.setNativeProjectCompiler(value);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCEApplicationOptionsBase.getRunnableCompiler: TCECompiler;
|
||||||
|
begin
|
||||||
|
exit(CEMainForm.fRunnableCompiler);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEApplicationOptionsBase.setRunnableCompiler(value: TCECompiler);
|
||||||
|
begin
|
||||||
|
case value of
|
||||||
|
ldc: if not exeInSysPath('ldmd2' + exeExt) then
|
||||||
|
value := dmd;
|
||||||
|
gdc: if not exeInSysPath('gdmd' + exeExt) then
|
||||||
|
value := dmd;
|
||||||
|
end;
|
||||||
|
CEMainForm.fRunnableCompiler:=value;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCEApplicationOptionsBase.setRunnableDestination(const value: TCEPathname);
|
procedure TCEApplicationOptionsBase.setRunnableDestination(const value: TCEPathname);
|
||||||
begin
|
begin
|
||||||
fRunnableDest := value;
|
fRunnableDest := value;
|
||||||
|
@ -2106,7 +2126,11 @@ begin
|
||||||
dmdproc.OnReadData := @asyncprocOutput;
|
dmdproc.OnReadData := @asyncprocOutput;
|
||||||
dmdproc.OnTerminate:= @asyncprocTerminate;
|
dmdproc.OnTerminate:= @asyncprocTerminate;
|
||||||
dmdproc.Options := [poUsePipes, poStderrToOutPut];
|
dmdproc.Options := [poUsePipes, poStderrToOutPut];
|
||||||
dmdproc.Executable := 'dmd';
|
case fRunnableCompiler of
|
||||||
|
dmd: dmdProc.Executable:='dmd' + exeExt;
|
||||||
|
ldc: dmdProc.Executable:='ldmd2' + exeExt;
|
||||||
|
gdc: dmdProc.Executable:='gdmd' + exeExt;
|
||||||
|
end;
|
||||||
dmdproc.Parameters.Add(fDoc.fileName);
|
dmdproc.Parameters.Add(fDoc.fileName);
|
||||||
if not asObj then
|
if not asObj then
|
||||||
dmdproc.Parameters.Add('-of' + fname + exeExt)
|
dmdproc.Parameters.Add('-of' + fname + exeExt)
|
||||||
|
|
Loading…
Reference in New Issue