pre/post build process exe name can be resolved from the PATH variable

This commit is contained in:
Basile Burg 2014-08-09 18:56:02 +02:00
parent f7a6fad9c8
commit cb9b60e8e8
1 changed files with 30 additions and 33 deletions

View File

@ -1186,22 +1186,21 @@ begin
with fProject.currentConfiguration do
begin
if preBuildProcess.executable <> '' then
if fileExists(preBuildProcess.Executable) then
begin
ppproc := TProcess.Create(nil);
try
preBuildProcess.setProcess(ppproc);
if ppproc.CurrentDirectory = '' then
ppproc.CurrentDirectory := extractFilePath(ppproc.Executable);
ppproc.Execute;
if not (poWaitOnExit in ppproc.Options) then
if poUsePipes in ppproc.Options then
repeat ProcessOutputToMsg(ppproc, mcProject) until not ppproc.Running;
finally
ppproc.Free;
end;
end
else fMesgWidg.addCeWarn('the pre-compilation executable does not exist', mcProject);
begin
ppproc := TProcess.Create(nil);
try
preBuildProcess.setProcess(ppproc);
if ppproc.CurrentDirectory = '' then
ppproc.CurrentDirectory := extractFilePath(ppproc.Executable);
ppproc.Execute;
if not (poWaitOnExit in ppproc.Options) then
if poUsePipes in ppproc.Options then
repeat ProcessOutputToMsg(ppproc, mcProject) until not ppproc.Running;
finally
ppproc.Free;
end;
end
else fMesgWidg.addCeWarn('the pre-compilation executable does not exist', mcProject);
end;
if aProject.Sources.Count = 0 then
@ -1224,7 +1223,6 @@ begin
chDir(prjpath);
dmdProc.CurrentDirectory := prjpath;
end;
{$IFDEF RELEASE}
dmdProc.ShowWindow := swoHIDE;
{$ENDIF}
@ -1242,22 +1240,21 @@ begin
with fProject.currentConfiguration do
begin
if postBuildProcess.executable <> '' then
if fileExists(postBuildProcess.Executable) then
begin
ppproc := TProcess.Create(nil);
try
postBuildProcess.setProcess(ppproc);
if ppproc.CurrentDirectory = '' then
ppproc.CurrentDirectory := extractFilePath(ppproc.Executable);
ppproc.Execute;
if not (poWaitOnExit in ppproc.Options) then
if poUsePipes in ppproc.Options then
repeat ProcessOutputToMsg(ppproc, mcProject) until not ppproc.Running;
finally
ppproc.Free;
end;
end
else fMesgWidg.addCeWarn('the post-compilation executable does not exist', mcProject);
begin
ppproc := TProcess.Create(nil);
try
postBuildProcess.setProcess(ppproc);
if ppproc.CurrentDirectory = '' then
ppproc.CurrentDirectory := extractFilePath(ppproc.Executable);
ppproc.Execute;
if not (poWaitOnExit in ppproc.Options) then
if poUsePipes in ppproc.Options then
repeat ProcessOutputToMsg(ppproc, mcProject) until not ppproc.Running;
finally
ppproc.Free;
end;
end
else fMesgWidg.addCeWarn('the post-compilation executable does not exist', mcProject);
end;
finally