meson.build 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. project('valaq', 'vala', 'c',
  2. version: '1.0.0',
  3. license: 'GPLv3',
  4. default_options: ['warning_level=2', 'werror=false'],
  5. )
  6. # Dependencies
  7. glib_dep = dependency('glib-2.0', version: '>= 2.56')
  8. gobject_dep = dependency('gobject-2.0', version: '>= 2.56')
  9. json_glib_dep = dependency('json-glib-1.0', version: '>= 1.0')
  10. gee_dep = dependency('gee-0.8', version: '>= 0.20.0')
  11. libvala_dep = dependency('libvala-0.56', version: '>= 0.56.0')
  12. # Source files
  13. sources = files(
  14. 'src/main.vala',
  15. 'src/cli/argument-parser.vala',
  16. 'src/cli/command-handler.vala',
  17. 'src/core/vapi-parser.vala',
  18. 'src/core/symbol-navigator.vala',
  19. 'src/core/symbol-model.vala',
  20. 'src/output/formatter.vala',
  21. 'src/output/text-formatter.vala',
  22. 'src/output/json-formatter.vala',
  23. 'src/utils/file-utils.vala',
  24. 'src/utils/error-handling.vala',
  25. )
  26. # Vala compilation flags
  27. vala_args = [
  28. '--target-glib=2.56',
  29. '--pkg', 'glib-2.0',
  30. '--pkg', 'gobject-2.0',
  31. '--pkg', 'json-glib-1.0',
  32. '--pkg', 'gee-0.8',
  33. '--pkg', 'libvala-0.56',
  34. ]
  35. # Executable
  36. executable('valaq',
  37. sources,
  38. dependencies: [glib_dep, gobject_dep, json_glib_dep, gee_dep, libvala_dep],
  39. vala_args: vala_args,
  40. install: true,
  41. )
  42. # Install man page
  43. install_man('man/valaq.1')
  44. # Test configuration
  45. test_dependencies = [glib_dep, gobject_dep, json_glib_dep, gee_dep, libvala_dep]
  46. test_sources = [
  47. 'tests/test-vapi-parser.vala',
  48. 'tests/test-symbol-navigator.vala',
  49. 'tests/test-output-formatters.vala',
  50. ]
  51. foreach test_file : test_sources
  52. test_name = test_file.split('/')[-1].split('.')[0]
  53. test(test_name,
  54. executable(test_name,
  55. test_file,
  56. dependencies: test_dependencies,
  57. vala_args: vala_args,
  58. )
  59. )
  60. endforeach