fpmake.pp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses {$ifdef unix}cthreads,{$endif} fpmkunit;
  5. Var
  6. T : TTarget;
  7. P : TPackage;
  8. begin
  9. With Installer do
  10. begin
  11. {$endif ALLPACKAGES}
  12. P:=AddPackage('fcl-json');
  13. P.ShortName:='fclj';
  14. {$ifdef ALLPACKAGES}
  15. P.Directory:=ADirectory;
  16. {$endif ALLPACKAGES}
  17. P.Version:='3.3.1';
  18. P.Dependencies.Add('fcl-base');
  19. P.Dependencies.Add('rtl-objpas');
  20. P.Dependencies.Add('fcl-fpcunit');
  21. P.Author := 'Michael van Canneyt';
  22. P.License := 'LGPL with modification, ';
  23. P.HomepageURL := 'www.freepascal.org';
  24. P.Email := '';
  25. P.Description := 'Json interfacing, part of Free Component Libraries (FCL), FPC''s OOP library.';
  26. P.NeedLibC:= false;
  27. P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum,msxdos,amstradcpc,sinclairql,human68k];
  28. if Defaults.CPU=jvm then
  29. P.OSes := P.OSes - [java,android];
  30. P.SourcePath.Add('src');
  31. T:=P.Targets.AddUnit('fpjson.pp');
  32. T.ResourceStrings:=true;
  33. T:=P.Targets.AddUnit('jsonconf.pp');
  34. T.ResourceStrings:=true;
  35. with T.Dependencies do
  36. begin
  37. AddUnit('fpjson');
  38. AddUnit('jsonparser');
  39. end;
  40. T:=P.Targets.AddUnit('jsonfpcunit.pp');
  41. T.ResourceStrings:=true;
  42. with T.Dependencies do
  43. begin
  44. AddUnit('fpjson');
  45. end;
  46. T:=P.Targets.AddUnit('jsonparser.pp');
  47. T.ResourceStrings:=true;
  48. with T.Dependencies do
  49. begin
  50. AddUnit('fpjson');
  51. AddUnit('jsonscanner');
  52. AddUnit('jsonreader');
  53. end;
  54. T:=P.Targets.AddUnit('jsonreader.pp');
  55. T.ResourceStrings:=true;
  56. with T.Dependencies do
  57. begin
  58. AddUnit('fpjson');
  59. AddUnit('jsonscanner');
  60. end;
  61. T:=P.Targets.AddUnit('jsonscanner.pp');
  62. T.ResourceStrings:=true;
  63. T:=P.Targets.AddUnit('fpjsonrtti.pp');
  64. T.ResourceStrings:=true;
  65. with T.Dependencies do
  66. begin
  67. AddUnit('fpjson');
  68. AddUnit('jsonparser');
  69. end;
  70. T:=P.Targets.AddUnit('fpjsontopas.pp');
  71. T.ResourceStrings:=true;
  72. with T.Dependencies do
  73. begin
  74. AddUnit('fpjson');
  75. AddUnit('jsonparser');
  76. end;
  77. T:=P.Targets.AddUnit('jsonini.pp');
  78. with T.Dependencies do
  79. begin
  80. AddUnit('fpjson');
  81. AddUnit('jsonparser');
  82. end;
  83. T:=P.Targets.AddUnit('json2yaml.pp');
  84. with T.Dependencies do
  85. begin
  86. AddUnit('fpjson');
  87. end;
  88. T:=P.Targets.AddUnit('fpjsonapply.pp');
  89. with T.Dependencies do
  90. begin
  91. AddUnit('fpjson');
  92. end;
  93. T.ResourceStrings:=true;
  94. T:=P.Targets.AddUnit('fpjsonvalue.pp');
  95. with T.Dependencies do
  96. begin
  97. AddUnit('fpjson');
  98. end;
  99. P.ExamplePath.Add('examples');
  100. T:=P.Targets.AddExampleProgram('confdemo.pp');
  101. T:=P.Targets.AddExampleProgram('parsedemo.pp');
  102. T:=P.Targets.AddExampleProgram('simpledemo.pp');
  103. T:=P.Targets.AddExampleProgram('ini2json.pp');
  104. T:=P.Targets.AddExampleProgram('j2y.pp');
  105. // simpledemo.lpi
  106. // confdemo.lpi
  107. // parsedemo.lpi
  108. P.NamespaceMap:='namespaces.lst';
  109. {$ifndef ALLPACKAGES}
  110. Run;
  111. end;
  112. end.
  113. {$endif ALLPACKAGES}