diff options
| author | Szczepan Zalega <szczepan@nitrokey.com> | 2018-07-18 14:21:22 +0200 | 
|---|---|---|
| committer | Szczepan Zalega <szczepan@nitrokey.com> | 2018-07-18 14:21:22 +0200 | 
| commit | 42c934681970381a15aa1714822e65492bd51cc3 (patch) | |
| tree | c0d19346fe7ba77bb042aa88d2d29578f51b9a76 | |
| parent | 2b118a33f65866295eeb716c9bc6401082ca4c8e (diff) | |
| parent | 968b4027f4f13ebc311c3aab741fbc2eea50cca3 (diff) | |
| download | libnitrokey-42c934681970381a15aa1714822e65492bd51cc3.tar.gz libnitrokey-42c934681970381a15aa1714822e65492bd51cc3.tar.bz2 | |
Merge branch 'pr_128'
Meson fixes for tests build
Fixes #128
| -rw-r--r-- | README.md | 9 | ||||
| -rw-r--r-- | meson.build | 29 | 
2 files changed, 22 insertions, 16 deletions
| @@ -80,14 +80,11 @@ Other build options (all take either `ON` or `OFF`):  It is possible to use Meson and Ninja to build the project as well (currently available only `master` branch).  Please run:  ``` -meson builddir -cd builddir -meson configure # to show available build flags -ninja +meson builddir <OPTIONS> +meson configure builddir # to show available build flags +ninja -C builddir  ``` -Tests build with bundled Catch is not supported yet with this method. -  # Using libnitrokey with Python  To use libnitrokey with Python a [CFFI](http://cffi.readthedocs.io/en/latest/overview.html) library is required (either 2.7+ or 3.0+). It can be installed with:  ```bash diff --git a/meson.build b/meson.build index 21e79f5..b14fe0c 100644 --- a/meson.build +++ b/meson.build @@ -11,12 +11,20 @@ cxx = meson.get_compiler('cpp')  host_system = host_machine.system()  pkg = import('pkgconfig') -test_cflags = [ +common_flags = [    '-Wno-unused-function',    '-Wcast-qual', +] +test_cxxflags = common_flags + [    '-Woverloaded-virtual',  ] -add_project_arguments(cxx.get_supported_arguments(test_cflags), language : 'cpp') +test_cflags = common_flags +add_project_arguments(cxx.get_supported_arguments(test_cxxflags), language : 'cpp') +if get_option('offline-tests') +  add_languages('c', required: get_option('offline-tests')) +  c = meson.get_compiler('c') +  add_project_arguments(c.get_supported_arguments(test_cflags), language : 'c') +endif  dep_hidapi = dependency('hidapi-libusb') @@ -105,23 +113,24 @@ pkg.generate(  )  if get_option('tests') or get_option('offline-tests') -  # FIXME -  _inc_catch = include_directories('/usr/include/catch') -  if not cxx.has_header('catch.hpp', include_directories : _inc_catch) -    error('Can\'t find catch.hpp') +  dep_catch = dependency('catch', required : false) +  if not dep_catch.found() +    dep_catch = declare_dependency( +      include_directories : include_directories('unittest/Catch/single_include') +    )    endif    _catch = static_library(      'catch',      sources : [        'unittest/catch_main.cpp',      ], -    include_directories : [ -      _inc_catch, +    dependencies : [ +      dep_catch,      ],    )    _dep_catch = declare_dependency(      link_with : _catch, -    include_directories : _inc_catch, +    dependencies : dep_catch,    )  endif @@ -129,7 +138,7 @@ tests = []  if get_option('offline-tests')    tests += [      ['test_offline', 'test_offline.cc'], -    ['test_minimal', 'test_minimal.cc'], +    ['test_minimal', 'test_minimal.c'],    ]  endif  if get_option('tests') | 
