project('valaq', 'vala', 'c', version: '1.0.0', license: 'GPLv3', default_options: ['warning_level=2', 'werror=false'], ) # Dependencies glib_dep = dependency('glib-2.0', version: '>= 2.56') gobject_dep = dependency('gobject-2.0', version: '>= 2.56') json_glib_dep = dependency('json-glib-1.0', version: '>= 1.0') gee_dep = dependency('gee-0.8', version: '>= 0.20.0') libvala_dep = dependency('libvala-0.56', version: '>= 0.56.0') # Source files sources = files( 'src/main.vala', 'src/cli/argument-parser.vala', 'src/cli/command-handler.vala', 'src/core/vapi-parser.vala', 'src/core/symbol-navigator.vala', 'src/core/symbol-model.vala', 'src/output/formatter.vala', 'src/output/text-formatter.vala', 'src/output/json-formatter.vala', 'src/utils/file-utils.vala', 'src/utils/error-handling.vala', ) # Vala compilation flags vala_args = [ '--target-glib=2.56', '--pkg', 'glib-2.0', '--pkg', 'gobject-2.0', '--pkg', 'json-glib-1.0', '--pkg', 'gee-0.8', '--pkg', 'libvala-0.56', ] # Executable executable('valaq', sources, dependencies: [glib_dep, gobject_dep, json_glib_dep, gee_dep, libvala_dep], vala_args: vala_args, install: true, ) # Install man page install_man('man/valaq.1') # Test configuration test_dependencies = [glib_dep, gobject_dep, json_glib_dep, gee_dep, libvala_dep] test_sources = [ 'tests/test-vapi-parser.vala', 'tests/test-symbol-navigator.vala', 'tests/test-output-formatters.vala', ] foreach test_file : test_sources test_name = test_file.split('/')[-1].split('.')[0] test(test_name, executable(test_name, test_file, dependencies: test_dependencies, vala_args: vala_args, ) ) endforeach