more for #10, modification system

+ fix switches passed to DUB
This commit is contained in:
Basile Burg 2015-09-17 06:48:08 +02:00
parent c19c1c20d0
commit c667795cc3
1 changed files with 27 additions and 2 deletions

View File

@ -25,7 +25,9 @@ type
fConfigIx: integer;
fBinKind: TProjectBinaryKind;
fBasePath: string;
fModificationCount: integer;
//
procedure doModified;
procedure updateFields;
procedure updatePackageNameFromJson;
procedure udpateConfigsFromJson;
@ -38,6 +40,9 @@ type
constructor create(aOwner: TComponent); override;
destructor destroy; override;
//
procedure beginModification;
procedure endModification;
//
function filename: string;
function basePath: string;
procedure loadFromFile(const aFilename: string);
@ -295,9 +300,9 @@ begin
dubproc.CurrentDirectory := extractFilePath(fFilename);
dubproc.ShowWindow := swoHIDE;
if fBuiltTypeIx <> 0 then
dubproc.Parameters.Add('build=' + fBuildTypes.Strings[fBuiltTypeIx]);
dubproc.Parameters.Add('--build=' + fBuildTypes.Strings[fBuiltTypeIx]);
if fConfigIx <> 0 then
dubproc.Parameters.Add('config=' + fConfigs.Strings[fConfigIx]);
dubproc.Parameters.Add('--config=' + fConfigs.Strings[fConfigIx]);
dubproc.Execute;
while dubproc.Running do
dubProcOutput(dubproc);
@ -524,6 +529,26 @@ begin
updateSourcesFromJson;
updateTargetKindFromJson;
end;
procedure TCEDubProject.beginModification;
begin
fModificationCount += 1;
end;
procedure TCEDubProject.endModification;
begin
fModificationCount -=1;
if fModificationCount <= 0 then
doModified;
end;
procedure TCEDubProject.doModified;
begin
fModificationCount := 0;
fModified:=true;
updateFields;
subjProjChanged(fProjectSubject, self as ICECommonProject);
end;
{$ENDREGION}
function isValidDubProject(const filename: string): boolean;