summaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2019-10-29 14:04:24 +0100
committerJosé Bollo <jose.bollo@iot.bzh>2019-10-29 14:04:24 +0100
commitbb6458a147fd4a6743daecf5e73b88af98aad37f (patch)
tree6adeb653c393942df2c1831b7cde3ce3f41fdc48 /meson.build
parent587e0c2d9067ed67ae70d2ad76511cd4e9ca9db6 (diff)
Add meson build system
Change-Id: Ie5ea4a42445e7c4df61284164f7dd14b0ca12295 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build77
1 files changed, 77 insertions, 0 deletions
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..0a02fe2
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,77 @@
+###########################################################################
+# Copyright (C) 2019 "IoT.bzh"
+#
+# author: José Bollo <jose.bollo@iot.bzh>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+project('cynagora', 'c', version: '2.0', license: 'Apache-2.0')
+
+###########################################################################
+
+cynagora_version = meson.project_version()
+cynagora_soversion = '2'
+
+runstatedir = get_option('localstatedir') + '/run'
+dbdir = get_option('localstatedir') + '/lib/cynagora'
+socketdir = runstatedir + '/cynagora'
+init_file_dir = get_option('sysconfdir') + '/security'
+init_file = init_file_dir + '/cynagora.initial'
+
+###########################################################################
+
+add_project_arguments(
+ '-Wall',
+ '-Wextra',
+ '-Wconversion',
+ '-Wno-unused-parameter',
+ '-Werror=maybe-uninitialized',
+ '-Werror=implicit-function-declaration',
+ '-ffunction-sections',
+ '-fdata-sections',
+ '-D_GNU_SOURCE',
+ language: 'c'
+)
+
+add_project_link_arguments(
+ '-Wl,--as-needed',
+ '-Wl,--gc-sections',
+ '-Wl,--no-undefined',
+ language: 'c'
+)
+
+###########################################################################
+
+if get_option('with-systemd')
+ sysd = dependency('libsystemd', required: true, version: '>=222')
+else
+ sysd = dependency('', required: false )
+endif
+cap = dependency('libcap', required: true)
+
+###########################################################################
+
+subdir('src')
+subdir('pkgconfig')
+
+if get_option('with-systemd')
+ subdir('systemd')
+endif
+
+if get_option('with-cynara-compat')
+ subdir('compat')
+endif
+
+install_data('cynagora.initial', install_dir: init_file_dir, install_mode: 'rw-r--r--')
+