challenger

OAuth 2.0-based authentication service that validates user can receive messages at a certain address
Log | Files | Refs | Submodules | README | LICENSE

meson.build (3163B)


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