68 lines
1.3 KiB
Meson
68 lines
1.3 KiB
Meson
project(
|
|
'libhydrogen',
|
|
'c',
|
|
license: 'ISC',
|
|
default_options: [
|
|
'buildtype=minsize',
|
|
'default_library=static',
|
|
'warning_level=2',
|
|
],
|
|
)
|
|
|
|
cc = meson.get_compiler('c')
|
|
|
|
cflags = cc.get_supported_arguments(
|
|
'-Wbad-function-cast',
|
|
'-Wcast-align',
|
|
'-Wcast-qual',
|
|
'-Wdiv-by-zero',
|
|
'-Wfloat-equal',
|
|
'-Wmissing-declarations',
|
|
'-Wmissing-prototypes',
|
|
'-Wnested-externs',
|
|
'-Wno-type-limits',
|
|
'-Wno-unknown-pragmas',
|
|
'-Wpointer-arith',
|
|
'-Wredundant-decls',
|
|
'-Wstrict-prototypes',
|
|
'-Wswitch-enum',
|
|
'-fno-exceptions',
|
|
'-mtune=native',
|
|
)
|
|
add_project_arguments(cflags, language: 'c')
|
|
|
|
include_dirs = include_directories('.')
|
|
|
|
sources = files(
|
|
'hydrogen.c',
|
|
)
|
|
|
|
libhydrogen = library(
|
|
'hydrogen',
|
|
sources,
|
|
include_directories: include_dirs,
|
|
install: true,
|
|
)
|
|
|
|
tests = executable(
|
|
'tests',
|
|
files('tests/tests.c'),
|
|
link_with: libhydrogen,
|
|
)
|
|
test('tests', tests)
|
|
|
|
install_headers(files('hydrogen.h'))
|
|
|
|
pkgconfig = import('pkgconfig')
|
|
pkgconfig.generate(
|
|
libhydrogen,
|
|
name: 'libhydrogen',
|
|
description: 'Lightweight, secure, easy-to-use crypto library suitable for constrained environments.',
|
|
url: 'https://libhydrogen.org/',
|
|
)
|
|
|
|
libhydrogen_dep = declare_dependency(
|
|
include_directories: include_dirs,
|
|
link_with: libhydrogen,
|
|
)
|