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