Hash :
a3892be7
Author :
Date :
2020-03-14T01:08:15
[meson] fix spurious warning when building test/api C sources Fixes compiler warning test-unicode.c:589:1: warning: ‘test_unicode_properties_lenient’ defined but not used which didn't happen with autotools. Reason it does with meson is that the setup for C was slightly wrong. We would only add -DHAVE_CONFIG_H to cpp_args which is only valid when compiling C++ code, but not plain C code, and many of these tests were plain C. Instead pass -DHAVE_CONFIG_H via add_project_arguments() and make sure to set both c_args and cpp_args when building test executables. Fixes https://github.com/harfbuzz/harfbuzz/issues/2257
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
tests = [
['test-baseline.c'],
['test-blob.c'],
['test-buffer.c'],
['test-c.c'],
['test-collect-unicodes.c'],
['test-common.c'],
['test-cplusplus.cc'],
['test-font.c'],
['test-map.c'],
['test-object.c'],
['test-ot-color.c'],
['test-ot-face.c'],
['test-ot-ligature-carets.c'],
['test-ot-name.c'],
['test-ot-tag.c'],
['test-set.c'],
['test-shape.c'],
['test-subset.c'],
['test-subset-cmap.c'],
['test-subset-glyf.c'],
['test-subset-hdmx.c'],
['test-subset-hmtx.c'],
['test-subset-os2.c'],
['test-subset-post.c'],
['test-subset-vmtx.c'],
['test-unicode.c'],
['test-version.c'],
]
if conf.get('HAVE_FREETYPE', 0) == 1
tests += [['test-ot-math.c']]
endif
if conf.get('HAVE_FREETYPE', 0) == 1 and conf.get('HAVE_PTHREAD', 0) == 1
tests += [['test-multithread.c']]
endif
if conf.get('HAVE_GLIB', 0) == 1
env = environment()
env.set('G_TEST_SRCDIR', meson.current_source_dir())
env.set('G_TEST_BUILDDIR', meson.current_build_dir())
foreach test_data : tests
fname = test_data[0]
opts = test_data.length() > 1 ? test_data[1] : {}
extra_c_args = opts.get('c_args', [])
test_name = fname.split('.')[0].underscorify()
exe = executable(test_name, fname,
c_args: extra_c_args,
cpp_args: cpp_args + extra_c_args,
include_directories: [incconfig, incsrc],
dependencies: deps,
link_with: [libharfbuzz, libharfbuzz_subset],
)
test(test_name, exe,
env: env)
endforeach
endif