meson.build (2731B)
1 # This build file is in the public domain 2 install_data('sync_db_postgres.conf', install_dir: pkgcfgdir) 3 4 sqldir = get_option('datadir') / 'sync' / 'sql' 5 6 # FIXME possibly provide this output in the tgz through dist script 7 run_command('make', '-f', 'Makefile.sql', 'all', check: true) 8 9 sqlfiles = ['versioning.sql', 'procedures.sql', 'sync-0001.sql', 'drop.sql'] 10 11 install_data(sources: sqlfiles, install_dir: sqldir) 12 13 # This makes meson copy the files into the build directory for testing 14 foreach f : sqlfiles 15 configure_file(input: f, output: f, copy: true) 16 endforeach 17 18 19 libsyncdb_SOURCES = [ 20 'syncdb_pg.c', 21 'syncdb_drop_tables.c', 22 'syncdb_create_tables.c', 23 'syncdb_preflight.c', 24 'syncdb_gc.c', 25 'syncdb_append_block_TR.c', 26 'syncdb_delete_block_TR.c', 27 'syncdb_update_block_TR.c', 28 'syncdb_lookup_account_TR.c', 29 'syncdb_lookup_block_range_TR.c', 30 'syncdb_lookup_block_TR.c', 31 'syncdb_increment_lifetime_TR.c', 32 'syncdb_lookup_pending_payments_by_account.c', 33 'syncdb_store_payment_TR.c', 34 'syncdb_store_object_TR.c', 35 'syncdb_lookup_object.c', 36 'syncdb_lookup_object_uid.c', 37 ] 38 libsyncdb = library( 39 'syncdb', 40 libsyncdb_SOURCES, 41 soversion: solibversions['libsyncdb']['soversion'], 42 version: solibversions['libsyncdb']['soversion'], 43 install_rpath: rpath_option, 44 dependencies: [ 45 libsyncutil_dep, 46 talerpq_dep, 47 talerutil_dep, 48 gnunetutil_dep, 49 gnunetpq_dep, 50 pq_dep, 51 ], 52 include_directories: [incdir, configuration_inc], 53 install: true, 54 install_dir: get_option('libdir'), 55 ) 56 57 libsyncdb_dep = declare_dependency(link_with: libsyncdb) 58 pkg.generate( 59 libsyncdb, 60 url: 'https://taler.net', 61 description: 'GNU Taler sync DB library', 62 ) 63 64 executable( 65 'sync-dbinit', 66 ['sync-dbinit.c'], 67 dependencies: [ 68 libsyncutil_dep, 69 talerutil_dep, 70 libsyncdb_dep, 71 talerpq_dep, 72 gnunetutil_dep, 73 gnunetpq_dep, 74 pq_dep, 75 gcrypt_dep, 76 ], 77 include_directories: [incdir, configuration_inc], 78 install: true, 79 ) 80 81 82 test_syncdb_postgres = executable( 83 'test-syncdb-postgres', 84 ['test_sync_db.c'], 85 install_rpath: rpath_option, 86 dependencies: [ 87 libsyncdb_dep, 88 libsyncutil_dep, 89 talerutil_dep, 90 gnunetutil_dep, 91 gnunetpq_dep, 92 ], 93 include_directories: [incdir, configuration_inc], 94 install: false, 95 ) 96 test( 97 'test-syncdb-postgres', 98 test_syncdb_postgres, 99 workdir: meson.current_build_dir(), 100 suite: ['syncdb', 'installcheck'], 101 is_parallel: false, 102 ) 103 configure_file( 104 input: 'test_sync_db_postgres.conf', 105 output: 'test_sync_db_postgres.conf', 106 copy: true, 107 )