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