vapi_dir = meson.current_source_dir() / 'vapi' add_project_arguments(['--enable-checking','--vapidir', vapi_dir], language: 'vala') dependencies = [ dependency('glib-2.0'), dependency('gobject-2.0'), dependency('gio-2.0'), dependency('gee-0.8'), dependency('invercargill'), meson.get_compiler('vala').find_library('libsodium', dirs: vapi_dir), meson.get_compiler('vala').find_library('gnutls', dirs: vapi_dir), meson.get_compiler('c').find_library('sodium'), meson.get_compiler('c').find_library('gnutls'), meson.get_compiler('c').find_library('m') ] sources = files('Riddle.vala') sources += files('RiddleEnvelope.vala') sources += files('SharedKeyRiddle.vala') sources += files('IdentityRiddle.vala') sources += files('Message.vala') sources += files('Solution.vala') sources += files('SolutionEnvelope.vala') sources += files('Server.vala') sources += files('Client.vala') sources += files('NameInfo.vala') sources += files('CertifiedNameInfo.vala') sources += files('DecentralisedNameInfo.vala') sources += files('PeerDiscoverer.vala') sources += files('KnownHostDiscoverer.vala') sources += files('LanDiscoverer.vala') sources += files('RequestManager.vala') riddle = shared_library('libriddle', sources, name_prefix: '', dependencies: dependencies, install: true, vala_gir: 'Riddle-1.0.gir', install_dir: [true, true, true, true] ) riddle_dep = declare_dependency(link_with: riddle, include_directories: include_directories('.')) pkg = import('pkgconfig') pkg.generate(riddle, version : '0.1', name : 'libriddle',) g_ir_compiler = find_program('g-ir-compiler') custom_target('riddle typelib', command: [g_ir_compiler, '--shared-library=libriddle.so', '--output', '@OUTPUT@', meson.current_build_dir() / 'Riddle-1.0.gir'], output: 'Riddle-1.0.typelib', depends: riddle, install: true, install_dir: get_option('libdir') / 'girepository-1.0') dependencies += riddle_dep