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
|
var
|
||||||
P: TPackage;
|
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
|
begin
|
||||||
with Installer do
|
with Installer do
|
||||||
begin
|
begin
|
||||||
|
be := BuildEngine;
|
||||||
|
|
||||||
//create nvwidgets package
|
//create nvwidgets package
|
||||||
P := AddPackage('nvidia-widgets');
|
P := AddPackage('nvidia-widgets');
|
||||||
|
|
||||||
P.FPDocFormat := [ffHtml, ffCHM];
|
P.FPDocFormat := [ffHtml, ffCHM];
|
||||||
|
P.BeforeDocProc := @CreateClassChart;
|
||||||
|
|
||||||
//later add --footer-date="mmm dd yyyy"
|
//later add --footer-date="mmm dd yyyy"
|
||||||
P.FPDocSwitches := '--auto-index --auto-toc --make-searchable --css-file=./fpdoc/fpdoc.css --image-url=fpdoc/images/';
|
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]);
|
P.Options.Add(NV_PROFILE_FLAGS[i]);
|
||||||
|
|
||||||
//base widget units
|
//base widget units
|
||||||
|
P.Targets.AddUnit('nvtypes.pas');
|
||||||
P.Targets.AddUnit('nvbasefont.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 ');
|
write('package ', P.Name, ' configured for ');
|
||||||
|
|
||||||
@ -39,6 +41,7 @@ begin
|
|||||||
case NV_ACTIVE_FONT of
|
case NV_ACTIVE_FONT of
|
||||||
GLFREETYPE: begin
|
GLFREETYPE: begin
|
||||||
write('FreeType font ');
|
write('FreeType font ');
|
||||||
|
P.Targets.AddUnit('./gl/glfreetype.pas');
|
||||||
P.Targets.AddUnit('./gl/glfreetypefont.pas');
|
P.Targets.AddUnit('./gl/glfreetypefont.pas');
|
||||||
end;
|
end;
|
||||||
GLUTBITMAP: begin
|
GLUTBITMAP: begin
|
||||||
@ -51,7 +54,7 @@ begin
|
|||||||
case NV_ACTIVE_CONTEXT of
|
case NV_ACTIVE_CONTEXT of
|
||||||
GLUT: begin
|
GLUT: begin
|
||||||
write('the GLUT context');
|
write('the GLUT context');
|
||||||
P.Targets.AddUnit('./glut/nvglutwidgets.pas');
|
P.Targets.AddUnit('./glut/nvglutcontext.pas');
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -60,7 +63,8 @@ begin
|
|||||||
GL: begin
|
GL: begin
|
||||||
writeln(' with the OpenGL painter');
|
writeln(' with the OpenGL painter');
|
||||||
P.UnitPath.Add('./gl/');
|
P.UnitPath.Add('./gl/');
|
||||||
P.Targets.AddUnit('./gl/nvglwidgets.pas');
|
P.Targets.AddUnit('./gl/nvshaderutils.pas');
|
||||||
|
P.Targets.AddUnit('./gl/nvglpainter.pas');
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user