meson.build (3010B)
1 # This file is in the public domain 2 3 install_data('challenger_db_postgres.conf', install_dir: pkgcfgdir) 4 5 6 sqldir = get_option('datadir') / 'challenger' / 'sql' 7 8 procedures_sql = [ 9 'procedures-prelude.sql', 10 'challenger_do_challenge_set_address_and_pin.sql', 11 'challenger_do_validate_and_solve_pin.sql', 12 'commit.sql', 13 ] 14 15 generated_sql = [ 16 ['versioning.sql', ['versioning.sql']], 17 ['drop.sql', ['drop.sql']], 18 ['procedures.sql', procedures_sql], 19 ['challenger-0001.sql', ['challenger-0001.sql']], 20 ['challenger-0002.sql', ['challenger-0002.sql']], 21 ['challenger-0003.sql', ['challenger-0003.sql']], 22 ['challenger-0004.sql', ['challenger-0004.sql']], 23 ] 24 25 foreach g : generated_sql 26 custom_target( 27 'gen-challengerdb-' + g[0], 28 input: g[1], 29 output: g[0], 30 capture: true, 31 command: ['./amalgamate-sql.sh', '@INPUT@'], 32 install: true, 33 install_dir: sqldir, 34 ) 35 endforeach 36 37 libchallengerdb_SOURCES = [ 38 'address_get.c', 39 'client_add.c', 40 'client_modify.c', 41 'client_delete.c', 42 'client_check.c', 43 'create_tables.c', 44 'drop_tables.c', 45 'gc.c', 46 'info_get_token.c', 47 'token_add_token.c', 48 'setup_nonce.c', 49 'preflight.c', 50 'pg.c', 51 'authorize_start.c', 52 'challenge_set_address_and_pin.c', 53 'validate_solve_pin.c', 54 'validation_get.c', 55 'validation_get_pkce.c', 56 ] 57 libchallengerdb = library( 58 'challengerdb', 59 libchallengerdb_SOURCES, 60 soversion: solibversions['libchallengerdb']['soversion'], 61 version: solibversions['libchallengerdb']['soversion'], 62 install_rpath: rpath_option, 63 dependencies: [ 64 libchallengerutil_dep, 65 talerpq_dep, 66 gnunetutil_dep, 67 gnunetpq_dep, 68 pq_dep, 69 ], 70 include_directories: [incdir, configuration_inc], 71 install: true, 72 install_dir: get_option('libdir'), 73 ) 74 75 libchallengerdb_dep = declare_dependency(link_with: libchallengerdb) 76 pkg.generate( 77 libchallengerdb, 78 url: 'https://taler.net', 79 description: 'GNU Taler challenger DB library', 80 ) 81 82 executable( 83 'challenger-dbinit', 84 ['challenger-dbinit.c'], 85 dependencies: [ 86 libchallengerutil_dep, 87 libchallengerdb_dep, 88 gnunetutil_dep, 89 talerutil_dep, 90 ], 91 include_directories: [incdir, configuration_inc], 92 install: true, 93 ) 94 95 configure_file( 96 input: 'test_challenger_db_postgres.conf', 97 output: 'test_challenger_db_postgres.conf', 98 copy: true, 99 ) 100 101 test_challenger_db_postgres = executable( 102 'test_challenger_db-postgres', 103 ['test_challenger_db.c'], 104 dependencies: [ 105 gnunetutil_dep, 106 libchallengerutil_dep, 107 libchallengerdb_dep, 108 gnunetpq_dep, 109 talerutil_dep, 110 ], 111 include_directories: [incdir, configuration_inc], 112 build_by_default: false, 113 install: false, 114 ) 115 test( 116 'test_challenger_db-postgres', 117 test_challenger_db_postgres, 118 workdir: meson.current_build_dir(), 119 suite: ['challengerdb'], 120 is_parallel: false, 121 )