You've already forked lazarus-ccr
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:
@ -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/';
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user