
fixed build system (linked all fpmake files together) git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2258 8e941d3f-bd1b-0410-a28a-d453659cc2b4
94 lines
2.5 KiB
ObjectPascal
94 lines
2.5 KiB
ObjectPascal
program fpmake;
|
|
|
|
{$mode objfpc} {$H+}
|
|
|
|
uses
|
|
fpmkunit,
|
|
Classes,
|
|
SysUtils;
|
|
|
|
{$define ALLPACKAGES}
|
|
{$include config.inc}
|
|
|
|
var
|
|
P: TPackage;
|
|
be: TBuildEngine;
|
|
i: integer;
|
|
|
|
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;
|
|
|
|
{$include fpmake_proc.inc}
|
|
|
|
begin
|
|
{$include fpmake_add.inc}
|
|
|
|
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/';
|
|
|
|
//base source files
|
|
P.Targets.AddFPDoc('./src/nvtypes.pas', './fpdoc/nvtypes.xml');
|
|
P.Targets.AddFPDoc('./src/nvpainter.pas', './fpdoc/nvpainter.xml');
|
|
P.Targets.AddFPDoc('./src/nvcontext.pas', './fpdoc/nvcontext.xml');
|
|
P.Targets.AddFPDoc('./src/nvbasefont.pas', './fpdoc/nvbasefont.xml');
|
|
|
|
//contexts
|
|
P.Targets.AddFPDoc('./src/glut/nvglutcontext.pas', './fpdoc/nvglutcontext.xml');
|
|
|
|
//painters
|
|
P.Targets.AddFPDoc('./src/gl/nvglpainter.pas', './fpdoc/nvglpainter.xml');
|
|
P.Targets.AddFPDoc('./src/gl/nvshaderutils.pas', './fpdoc/nvshaderutils.xml');
|
|
|
|
//fonts
|
|
P.Targets.AddFPDoc('./src/gl/glfreetype.pas', './fpdoc/glfreetype.xml');
|
|
P.Targets.AddFPDoc('./src/gl/glfreetypefont.pas', './fpdoc/glfreetypefont.xml');
|
|
P.Targets.AddFPDoc('./src/glut/glutbitmapfont.pas', './fpdoc/glutbitmapfont.xml');
|
|
|
|
Run;
|
|
end;
|
|
end.
|
|
|