fpmake.pp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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,ps1,wasip2];
  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('jsoncomparer.pp');
  41. T.ResourceStrings:=true;
  42. with T.Dependencies do
  43. begin
  44. AddUnit('fpjson');
  45. end;
  46. T:=P.Targets.AddUnit('jsonfpcunit.pp');
  47. T.ResourceStrings:=true;
  48. with T.Dependencies do
  49. begin
  50. AddUnit('fpjson');
  51. end;
  52. T:=P.Targets.AddUnit('jsonparser.pp');
  53. T.ResourceStrings:=true;
  54. with T.Dependencies do
  55. begin
  56. AddUnit('fpjson');
  57. AddUnit('jsonscanner');
  58. AddUnit('jsonreader');
  59. end;
  60. T:=P.Targets.AddUnit('jsonreader.pp');
  61. T.ResourceStrings:=true;
  62. with T.Dependencies do
  63. begin
  64. AddUnit('fpjson');
  65. AddUnit('jsonscanner');
  66. end;
  67. T:=P.Targets.AddUnit('jsonwriter.pp');
  68. T.ResourceStrings:=true;
  69. with T.Dependencies do
  70. begin
  71. AddUnit('fpjson');
  72. end;
  73. T:=P.Targets.AddUnit('jsonscanner.pp');
  74. T.ResourceStrings:=true;
  75. T:=P.Targets.AddUnit('fpjsonrtti.pp');
  76. T.ResourceStrings:=true;
  77. with T.Dependencies do
  78. begin
  79. AddUnit('fpjson');
  80. AddUnit('jsonparser');
  81. end;
  82. T:=P.Targets.AddUnit('fpjsontopas.pp');
  83. T.ResourceStrings:=true;
  84. with T.Dependencies do
  85. begin
  86. AddUnit('fpjson');
  87. AddUnit('jsonparser');
  88. end;
  89. T:=P.Targets.AddUnit('jsonini.pp');
  90. with T.Dependencies do
  91. begin
  92. AddUnit('fpjson');
  93. AddUnit('jsonparser');
  94. end;
  95. T:=P.Targets.AddUnit('json2yaml.pp');
  96. with T.Dependencies do
  97. begin
  98. AddUnit('fpjson');
  99. end;
  100. T:=P.Targets.AddUnit('fpjsonapply.pp');
  101. with T.Dependencies do
  102. begin
  103. AddUnit('fpjson');
  104. end;
  105. T.ResourceStrings:=true;
  106. T:=P.Targets.AddUnit('fpjsonvalue.pp');
  107. with T.Dependencies do
  108. begin
  109. AddUnit('fpjson');
  110. end;
  111. P.ExamplePath.Add('examples');
  112. T:=P.Targets.AddExampleProgram('confdemo.pp');
  113. T:=P.Targets.AddExampleProgram('parsedemo.pp');
  114. T:=P.Targets.AddExampleProgram('simpledemo.pp');
  115. T:=P.Targets.AddExampleProgram('ini2json.pp');
  116. T:=P.Targets.AddExampleProgram('j2y.pp');
  117. // simpledemo.lpi
  118. // confdemo.lpi
  119. // parsedemo.lpi
  120. P.NamespaceMap:='namespaces.lst';
  121. {$ifndef ALLPACKAGES}
  122. Run;
  123. end;
  124. end.
  125. {$endif ALLPACKAGES}