meson.build 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. vapi_dir = meson.current_source_dir() / 'vapi'
  2. add_project_arguments(['--enable-checking','--vapidir', vapi_dir], language: 'vala')
  3. dependencies = [
  4. dependency('glib-2.0'),
  5. dependency('gobject-2.0'),
  6. dependency('gio-2.0'),
  7. dependency('gee-0.8'),
  8. dependency('invercargill'),
  9. meson.get_compiler('vala').find_library('libsodium', dirs: vapi_dir),
  10. meson.get_compiler('vala').find_library('gnutls', dirs: vapi_dir),
  11. meson.get_compiler('c').find_library('sodium'),
  12. meson.get_compiler('c').find_library('gnutls'),
  13. meson.get_compiler('c').find_library('m')
  14. ]
  15. sources = files('Riddle.vala')
  16. sources += files('RiddleEnvelope.vala')
  17. sources += files('SharedKeyRiddle.vala')
  18. sources += files('IdentityRiddle.vala')
  19. sources += files('Message.vala')
  20. sources += files('Solution.vala')
  21. sources += files('SolutionEnvelope.vala')
  22. sources += files('Server.vala')
  23. sources += files('Client.vala')
  24. sources += files('NameInfo.vala')
  25. sources += files('CertifiedNameInfo.vala')
  26. sources += files('DecentralisedNameInfo.vala')
  27. sources += files('PeerDiscoverer.vala')
  28. sources += files('KnownHostDiscoverer.vala')
  29. sources += files('LanDiscoverer.vala')
  30. sources += files('RequestManager.vala')
  31. riddle = shared_library('libriddle', sources,
  32. name_prefix: '',
  33. dependencies: dependencies,
  34. install: true,
  35. vala_gir: 'Riddle-1.0.gir',
  36. install_dir: [true, true, true, true]
  37. )
  38. riddle_dep = declare_dependency(link_with: riddle, include_directories: include_directories('.'))
  39. pkg = import('pkgconfig')
  40. pkg.generate(riddle,
  41. version : '0.1',
  42. name : 'libriddle',)
  43. g_ir_compiler = find_program('g-ir-compiler')
  44. custom_target('riddle typelib', command: [g_ir_compiler, '--shared-library=libriddle.so', '--output', '@OUTPUT@', meson.current_build_dir() / 'Riddle-1.0.gir'],
  45. output: 'Riddle-1.0.typelib',
  46. depends: riddle,
  47. install: true,
  48. install_dir: get_option('libdir') / 'girepository-1.0')
  49. dependencies += riddle_dep