meson.build 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. sources = files(
  2. 'Spry.vala',
  3. 'ResponseState.vala',
  4. 'Component.vala',
  5. 'PageComponent.vala',
  6. 'PageTemplate.vala',
  7. 'ComponentFactory.vala',
  8. 'Renderable.vala',
  9. 'ComponentEndpoint.vala',
  10. 'Context.vala',
  11. 'PathProvider.vala',
  12. 'ContinuationProvider.vala',
  13. 'ContinuationContext.vala',
  14. 'CryptographyProvider.vala',
  15. 'Static/StaticResource.vala',
  16. 'Static/MemoryStaticResource.vala',
  17. 'Static/FileStaticResource.vala',
  18. 'Static/ConstantStaticResource.vala',
  19. 'Static/StaticResourceProvider.vala',
  20. 'Static/HtmxResource.vala',
  21. 'Static/HtmxSseResource.vala'
  22. )
  23. library_version = meson.project_version()
  24. libspry = shared_library('spry-@0@'.format(library_version),
  25. sources,
  26. dependencies: [glib_dep, gobject_dep, gio_dep, invercargill_dep, invercargill_json_dep, json_glib_dep, inversion_dep, libxml_dep, astralis_dep, sodium_deps],
  27. install: true,
  28. vala_gir: 'spry-@0@.gir'.format(library_version),
  29. install_dir: [true, true, true, true]
  30. )
  31. pkg = import('pkgconfig')
  32. pkg.generate(libspry,
  33. version : library_version,
  34. name : 'spry-@0@'.format(library_version))
  35. g_ir_compiler = find_program('g-ir-compiler')
  36. custom_target('spry typelib', command: [g_ir_compiler, '--shared-library=libspry-@0@.so'.format(library_version), '--output', '@OUTPUT@', meson.current_build_dir() / 'spry-@0@.gir'.format(library_version)],
  37. output: 'libspry-@0@.typelib'.format(library_version),
  38. depends: libspry,
  39. install: true,
  40. install_dir: get_option('libdir') / 'girepository-1.0')
  41. spry_dep = declare_dependency(
  42. link_with: libspry,
  43. include_directories: include_directories('.'),
  44. dependencies: [glib_dep, gobject_dep, gio_dep, invercargill_dep, invercargill_json_dep, json_glib_dep, inversion_dep, libxml_dep]
  45. )
  46. # Authorisation submodule
  47. subdir('Authorisation')