From d259c9b3f90d4c75664169d9565798ef6c5b95e9 Mon Sep 17 00:00:00 2001 From: Krzysztof Gabis Date: Mon, 28 Mar 2022 22:12:15 +0200 Subject: [PATCH] Adds meson.build Issue #179 meson.build was created by @uni-dos --- meson.build | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 meson.build diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..4436eed --- /dev/null +++ b/meson.build @@ -0,0 +1,50 @@ +project('parson', 'c', + version : '1.4.0', # !!! also increment lib_so_version !!! + license : 'MIT', + meson_version : '>=0.46.0', + default_options : [ + 'c_std=c89', 'optimization=2', + 'warning_level=2' + ] +) + +parson_sources = ['parson.c'] + +parson_inc = include_directories('.') + +lib_so_version = '0' + +parson_shared_lib = shared_library( + meson.project_name(), + sources: parson_sources, + soversion: lib_so_version, + install: true +) + +parson_static_lib = static_library( + meson.project_name(), + sources: parson_sources, + install: true +) + +install_headers('parson.h', subdir : 'parson') + +parson_shared_dep = declare_dependency( + include_directories : parson_inc, + link_with : parson_shared_lib +) + +parson_static_dep = declare_dependency( + include_directories : parson_inc, + link_with : parson_static_lib +) + +pkgconfig = import('pkgconfig') + +# will create a pkg config for the shared lib only +pkgconfig.generate(parson_shared_lib, + version: meson.project_version(), + filebase: meson.project_name(), + name: meson.project_name(), + description: 'Lightweight JSON library written in C.', +) \ No newline at end of file