added class chart creation to build system

fixed build system for source files

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2255 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blaszijk
2012-01-12 18:14:54 +00:00
parent d0340d13eb
commit 36b91b3270
2 changed files with 49 additions and 4 deletions

View File

@ -9,14 +9,55 @@ uses
var
P: TPackage;
be: TBuildEngine;
procedure CreateClassChart(Sender: TObject);
var
i: integer;
APackage: TPackage;
T: TTarget;
cmdOpts: string;
Cmd: string;
begin
APackage := TPackage(Sender);
cmdOpts := '--format=graphviz --output=nvwidgets.dot';
for i := 0 to APackage.Targets.Count - 1 do
begin
T := APackage.Targets.TargetItems[i];
if T.TargetType = ttFPDoc then
//check if a documentation target is given
cmdOpts := cmdOpts + ' --input=' + be.AddPathPrefix(APackage, T.Directory + T.Name + T.Extension);
end;
//execute fpclasschart
Cmd := ExeSearch('fpclasschart', GetEnvironmentvariable('PATH'));
if Cmd = '' then
Cmd := 'fpclasschart';
//writeln(cmdOpts);
ExecuteProcess(Cmd, cmdOpts);
//create the graphviz chart
Cmd := ExeSearch('dot', GetEnvironmentvariable('PATH'));
if Cmd = '' then
Cmd := 'dot';
ExecuteProcess(Cmd, '-Tpng nvwidgets.dot -o./fpdoc/images/nvwidgets.png');
//remove the dot file
DeleteFile('nvwidgets.dot');
end;
begin
with Installer do
begin
be := BuildEngine;
//create nvwidgets package
P := AddPackage('nvidia-widgets');
P.FPDocFormat := [ffHtml, ffCHM];
P.BeforeDocProc := @CreateClassChart;
//later add --footer-date="mmm dd yyyy"
P.FPDocSwitches := '--auto-index --auto-toc --make-searchable --css-file=./fpdoc/fpdoc.css --image-url=fpdoc/images/';

View File

@ -30,8 +30,10 @@ begin
P.Options.Add(NV_PROFILE_FLAGS[i]);
//base widget units
P.Targets.AddUnit('nvtypes.pas');
P.Targets.AddUnit('nvbasefont.pas');
P.Targets.AddUnit('nvwidgets.pas');
P.Targets.AddUnit('nvcontext.pas');
P.Targets.AddUnit('nvpainter.pas');
write('package ', P.Name, ' configured for ');
@ -39,6 +41,7 @@ begin
case NV_ACTIVE_FONT of
GLFREETYPE: begin
write('FreeType font ');
P.Targets.AddUnit('./gl/glfreetype.pas');
P.Targets.AddUnit('./gl/glfreetypefont.pas');
end;
GLUTBITMAP: begin
@ -51,7 +54,7 @@ begin
case NV_ACTIVE_CONTEXT of
GLUT: begin
write('the GLUT context');
P.Targets.AddUnit('./glut/nvglutwidgets.pas');
P.Targets.AddUnit('./glut/nvglutcontext.pas');
end;
end;
@ -60,7 +63,8 @@ begin
GL: begin
writeln(' with the OpenGL painter');
P.UnitPath.Add('./gl/');
P.Targets.AddUnit('./gl/nvglwidgets.pas');
P.Targets.AddUnit('./gl/nvshaderutils.pas');
P.Targets.AddUnit('./gl/nvglpainter.pas');
end;
end;