mirror of https://gitlab.com/basile.b/dexed.git
fixed some static explorer possible failures (if project had -J)
This commit is contained in:
parent
864d573288
commit
44cadb4fd3
|
@ -371,13 +371,18 @@ begin
|
||||||
dmdproc := TProcess.Create(nil);
|
dmdproc := TProcess.Create(nil);
|
||||||
lines := TStringList.Create;
|
lines := TStringList.Create;
|
||||||
try
|
try
|
||||||
|
// json file
|
||||||
jsf := GetTempDir(false);
|
jsf := GetTempDir(false);
|
||||||
jsf += uniqueObjStr(dmdProc) + '.json';
|
jsf += uniqueObjStr(dmdProc) + '.json';
|
||||||
scf := GetTempDir(false);
|
// main source file
|
||||||
scf += uniqueObjStr(dmdProc) + '.d';
|
scf := fDoc.fileName;
|
||||||
//
|
if not fileExists(scf) then
|
||||||
lines.Assign(fDoc.Lines);
|
begin
|
||||||
lines.SaveToFile(scf);
|
scf := GetTempDir(false);
|
||||||
|
scf += uniqueObjStr(dmdProc) + '.d';
|
||||||
|
lines.Assign(fDoc.Lines);
|
||||||
|
lines.SaveToFile(scf);
|
||||||
|
end;
|
||||||
// option to gen. the Json file.
|
// option to gen. the Json file.
|
||||||
dmdProc.ShowWindow := swoHIDE;
|
dmdProc.ShowWindow := swoHIDE;
|
||||||
dmdproc.Options := [];
|
dmdproc.Options := [];
|
||||||
|
@ -387,28 +392,31 @@ begin
|
||||||
dmdproc.Parameters.Add('-o-');
|
dmdproc.Parameters.Add('-o-');
|
||||||
dmdproc.Parameters.Add('-X');
|
dmdproc.Parameters.Add('-X');
|
||||||
dmdproc.Parameters.Add('-Xf' + jsf);
|
dmdproc.Parameters.Add('-Xf' + jsf);
|
||||||
// projects additional sources and I and libman aliases
|
// projects sources folders ,-I, -J
|
||||||
if fProj <> nil then
|
if fProj <> nil then
|
||||||
begin
|
begin
|
||||||
dmdProc.CurrentDirectory := extractFilePath(fProj.fileName);
|
dmdProc.CurrentDirectory := extractFilePath(fProj.fileName);
|
||||||
if fProj <> nil then for i := 0 to fProj.Sources.Count-1 do
|
if fProj <> nil then for i := 0 to fProj.Sources.Count-1 do
|
||||||
dmdproc.Parameters.Add('-I' + fProj.getAbsoluteSourceName(i));
|
dmdproc.Parameters.Add('-I' + extractFilePath(fProj.getAbsoluteSourceName(i)));
|
||||||
for nme in fProj.currentConfiguration.pathsOptions.Includes do
|
for nme in fProj.currentConfiguration.pathsOptions.Includes do
|
||||||
dmdproc.Parameters.Add('-I' + nme);
|
dmdproc.Parameters.Add('-I' + nme);
|
||||||
|
for nme in fProj.currentConfiguration.pathsOptions.Imports do
|
||||||
|
dmdproc.Parameters.Add('-J' + nme);
|
||||||
end;
|
end;
|
||||||
//adds all the libman entries
|
//adds the libman entries
|
||||||
with CEMainForm do begin
|
with CEMainForm do begin
|
||||||
Librarymanager.getAdditionalSources(nil, dmdproc.Parameters);
|
Librarymanager.getAdditionalSources(nil, dmdproc.Parameters);
|
||||||
Librarymanager.getAdditionalImport(nil, dmdproc.Parameters);
|
Librarymanager.getAdditionalImport(nil, dmdproc.Parameters);
|
||||||
end;
|
end;
|
||||||
//
|
//
|
||||||
dmdproc.Execute;
|
dmdproc.Execute;
|
||||||
while dmdproc.Running do;
|
while dmdproc.Running do (**);
|
||||||
finally
|
finally
|
||||||
i := dmdproc.ExitStatus;
|
i := dmdproc.ExitStatus;
|
||||||
dmdproc.Free;
|
dmdproc.Free;
|
||||||
lines.Free;
|
lines.Free;
|
||||||
DeleteFile(scf);
|
if not fileExists(scf) then
|
||||||
|
DeleteFile(scf);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if i <> 0 then
|
if i <> 0 then
|
||||||
|
@ -482,4 +490,3 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue