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