fpmake.pp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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-jsonschema');
  13. P.ShortName:='fcljschm';
  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.Dependencies.Add('fcl-json');
  22. P.Dependencies.Add('regexpr');
  23. P.Author := 'Michael van Canneyt';
  24. P.License := 'LGPL with modification, ';
  25. P.HomepageURL := 'www.freepascal.org';
  26. P.Email := '';
  27. P.Description := 'Json Schema validator implementation.';
  28. P.NeedLibC:= false;
  29. P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum,msxdos,amstradcpc,sinclairql,human68k,ps1,wasip2];
  30. if Defaults.CPU=jvm then
  31. P.OSes := P.OSes - [java,android];
  32. P.SourcePath.Add('src');
  33. T:=P.Targets.AddUnit('fpjson.schema.consts.pp');
  34. T.ResourceStrings:=true;
  35. T:=P.Targets.AddUnit('fpjson.schema.types.pp');
  36. with T.Dependencies do
  37. AddUnit('fpjson.schema.consts');
  38. T:=P.Targets.AddUnit('fpjson.schema.schema.pp');
  39. with T.Dependencies do
  40. begin
  41. AddUnit('fpjson.schema.consts');
  42. AddUnit('fpjson.schema.types');
  43. end;
  44. T:=P.Targets.AddUnit('fpjson.schema.reader.pp');
  45. with T.Dependencies do
  46. begin
  47. AddUnit('fpjson.schema.consts');
  48. AddUnit('fpjson.schema.types');
  49. AddUnit('fpjson.schema.schema');
  50. end;
  51. T:=P.Targets.AddUnit('fpjson.schema.loader.pp');
  52. with T.Dependencies do
  53. begin
  54. AddUnit('fpjson.schema.consts');
  55. AddUnit('fpjson.schema.types');
  56. AddUnit('fpjson.schema.schema');
  57. end;
  58. T:=P.Targets.AddUnit('fpjson.schema.writer.pp');
  59. with T.Dependencies do
  60. begin
  61. AddUnit('fpjson.schema.consts');
  62. AddUnit('fpjson.schema.types');
  63. AddUnit('fpjson.schema.schema');
  64. end;
  65. T:=P.Targets.AddUnit('fpjson.schema.validator.pp');
  66. with T.Dependencies do
  67. begin
  68. AddUnit('fpjson.schema.consts');
  69. AddUnit('fpjson.schema.types');
  70. AddUnit('fpjson.schema.schema');
  71. end;
  72. T:=P.Targets.AddUnit('fpjson.schema.pascaltypes.pp');
  73. with T.Dependencies do
  74. begin
  75. AddUnit('fpjson.schema.types');
  76. AddUnit('fpjson.schema.schema');
  77. end;
  78. T:=P.Targets.AddUnit('fpjson.schema.codegen.pp');
  79. with T.Dependencies do
  80. begin
  81. AddUnit('fpjson.schema.pascaltypes');
  82. AddUnit('fpjson.schema.types');
  83. AddUnit('fpjson.schema.schema');
  84. end;
  85. {$ifndef ALLPACKAGES}
  86. Run;
  87. end;
  88. end.
  89. {$endif ALLPACKAGES}