blob: b47b67650c879e24c685cfc112e275086e3ccc67 [file] [log] [blame]
Ed Tanousa3663052025-03-16 12:54:36 -07001project(
2 'libjsoncdac',
3 ['c'],
4 meson_version: '>=1.1.1',
Ed Tanous54640292025-03-17 20:55:20 -07005 default_options: ['default_library=static', 'c_std=gnu18'],
Ed Tanousa3663052025-03-16 12:54:36 -07006)
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
Ed Tanouscd9b1c52025-04-22 08:59:45 -070026jsonc = dependency('json-c', static: true)
Ed Tanousa3663052025-03-16 12:54:36 -070027deps += 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
Ed Tanouscd9b1c52025-04-22 08:59:45 -070053jsoncdac = library(
54 'jsoncdac',
55 jsoncdac_sources,
56 dependencies: deps,
57 include_directories: include_directories('..'),
58)
Ed Tanousa3663052025-03-16 12:54:36 -070059
60jsoncdac_dep = declare_dependency(
61 link_with: jsoncdac,
62 dependencies: deps,
Ed Tanouscd9b1c52025-04-22 08:59:45 -070063 include_directories: include_directories('include', '..'),
Ed Tanousa3663052025-03-16 12:54:36 -070064)