xref: /openbmc/libcper/subprojects/packagefiles/jsoncdac/meson.build (revision a3663051b36d33dc4b102109666ee31b0c23582f)
1*a3663051SEd Tanousproject(
2*a3663051SEd Tanous    'libjsoncdac',
3*a3663051SEd Tanous    ['c'],
4*a3663051SEd Tanous    meson_version: '>=1.1.1',
5*a3663051SEd Tanous    default_options: ['default_library=static', 'c_std=gnu23'],
6*a3663051SEd Tanous)
7*a3663051SEd Tanousconf_data = configuration_data(
8*a3663051SEd Tanous    {
9*a3663051SEd Tanous        'PROJECT_NAME': 'jsoncdac',
10*a3663051SEd Tanous        'PROJECT_VERSION': '0.1',
11*a3663051SEd Tanous        'PROJECT_VERSION_MAJOR': '0',
12*a3663051SEd Tanous        'PROJECT_VERSION_MINOR': '1',
13*a3663051SEd Tanous        'PROJECT_VERSION_PATCH': '0',
14*a3663051SEd Tanous    },
15*a3663051SEd Tanous)
16*a3663051SEd Tanousconfigure_file(
17*a3663051SEd Tanous    input: 'config.h.in',
18*a3663051SEd Tanous    output: 'version_config.h',
19*a3663051SEd Tanous    configuration: conf_data,
20*a3663051SEd Tanous)
21*a3663051SEd Tanousdeps = []
22*a3663051SEd Tanous
23*a3663051SEd Tanousadd_project_arguments('-Wno-unused-parameter', language: 'c')
24*a3663051SEd Tanousadd_project_arguments('-Wformat=0', language: 'c')
25*a3663051SEd Tanous
26*a3663051SEd Tanousjsonc = dependency('json-c')
27*a3663051SEd Tanousdeps += jsonc
28*a3663051SEd Tanous
29*a3663051SEd Tanousjsoncdac_sources = files(
30*a3663051SEd Tanous    'libjsoncdac/additionalproperties.c',
31*a3663051SEd Tanous    'libjsoncdac/contains.c',
32*a3663051SEd Tanous    'libjsoncdac/dependent.c',
33*a3663051SEd Tanous    #'libjsoncdac/download.c',
34*a3663051SEd Tanous    #'libjsoncdac/jdac-cli.c',
35*a3663051SEd Tanous    'libjsoncdac/output.c',
36*a3663051SEd Tanous    'libjsoncdac/pattern.c',
37*a3663051SEd Tanous    'libjsoncdac/patternproperties.c',
38*a3663051SEd Tanous    'libjsoncdac/propertynames.c',
39*a3663051SEd Tanous    'libjsoncdac/ref.c',
40*a3663051SEd Tanous    'libjsoncdac/regex_match.c',
41*a3663051SEd Tanous    'libjsoncdac/store.c',
42*a3663051SEd Tanous    'libjsoncdac/subschemalogic.c',
43*a3663051SEd Tanous    'libjsoncdac/validate.c',
44*a3663051SEd Tanous)
45*a3663051SEd Tanous
46*a3663051SEd Tanousjsoncdac_deps = [dependency('json-c')]
47*a3663051SEd Tanouscc = meson.get_compiler('c')
48*a3663051SEd Tanousm_dep = cc.find_library('m', required: false)
49*a3663051SEd Tanousif m_dep.found()
50*a3663051SEd Tanous    deps += m_dep
51*a3663051SEd Tanousendif
52*a3663051SEd Tanous
53*a3663051SEd Tanousjsoncdac = library('jsoncdac', jsoncdac_sources, dependencies: deps)
54*a3663051SEd Tanous
55*a3663051SEd Tanousjsoncdac_dep = declare_dependency(
56*a3663051SEd Tanous    link_with: jsoncdac,
57*a3663051SEd Tanous    dependencies: deps,
58*a3663051SEd Tanous    include_directories: include_directories('include'),
59*a3663051SEd Tanous)
60