meson.build (2902B)
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 ] 22 23 foreach g : generated_sql 24 custom_target( 25 'gen-challengerdb-' + g[0], 26 input: g[1], 27 output: g[0], 28 capture: true, 29 command: ['./amalgamate-sql.sh', '@INPUT@'], 30 install: true, 31 install_dir: sqldir, 32 ) 33 endforeach 34 35 libchallengerdb_SOURCES = [ 36 'address_get.c', 37 'client_add.c', 38 'client_modify.c', 39 'client_delete.c', 40 'client_check.c', 41 'create_tables.c', 42 'drop_tables.c', 43 'gc.c', 44 'info_get_token.c', 45 'token_add_token.c', 46 'setup_nonce.c', 47 'preflight.c', 48 'pg.c', 49 'authorize_start.c', 50 'challenge_set_address_and_pin.c', 51 'validate_solve_pin.c', 52 'validation_get.c', 53 'validation_get_pkce.c', 54 ] 55 libchallengerdb = library( 56 'challengerdb', 57 libchallengerdb_SOURCES, 58 soversion: solibversions['libchallengerdb']['soversion'], 59 version: solibversions['libchallengerdb']['soversion'], 60 install_rpath: rpath_option, 61 dependencies: [ 62 libchallengerutil_dep, 63 talerpq_dep, 64 gnunetutil_dep, 65 gnunetpq_dep, 66 pq_dep, 67 ], 68 include_directories: [incdir, configuration_inc], 69 install: true, 70 install_dir: get_option('libdir'), 71 ) 72 73 libchallengerdb_dep = declare_dependency(link_with: libchallengerdb) 74 pkg.generate( 75 libchallengerdb, 76 url: 'https://taler.net', 77 description: 'GNU Taler challenger DB library', 78 ) 79 80 executable( 81 'challenger-dbinit', 82 ['challenger-dbinit.c'], 83 dependencies: [ 84 libchallengerutil_dep, 85 libchallengerdb_dep, 86 gnunetutil_dep, 87 talerutil_dep, 88 ], 89 include_directories: [incdir, configuration_inc], 90 install: true, 91 ) 92 93 configure_file( 94 input: 'test_challenger_db_postgres.conf', 95 output: 'test_challenger_db_postgres.conf', 96 copy: true, 97 ) 98 99 test_challenger_db_postgres = executable( 100 'test_challenger_db-postgres', 101 ['test_challenger_db.c'], 102 dependencies: [ 103 gnunetutil_dep, 104 libchallengerutil_dep, 105 libchallengerdb_dep, 106 gnunetpq_dep, 107 talerutil_dep, 108 ], 109 include_directories: [incdir, configuration_inc], 110 build_by_default: false, 111 install: false, 112 ) 113 test( 114 'test_challenger_db-postgres', 115 test_challenger_db_postgres, 116 workdir: meson.current_build_dir(), 117 suite: ['challengerdb'], 118 is_parallel: false, 119 )