mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
34 lines
1.4 KiB
Meson
34 lines
1.4 KiB
Meson
# Copyright: © 2018 SIL International.
|
|
# Description: Cross platform build script to compile unit tests.
|
|
# Create Date: 2 Oct 2018
|
|
# Authors: Tim Eves (TSE)
|
|
# History: 2 Oct 2018 - TSE - Added tests for utfcodec & json.
|
|
# 19 Oct 2018 - TSE - Added kmnkbd directory for API unit tests.
|
|
#
|
|
|
|
# Note: this version of cmpfiles ignores line endings, which is better for platform independence
|
|
cmpfiles = ['-c', 'import sys; a = open(sys.argv[1], \'r\').read(); b = open(sys.argv[2], \'r\').read(); sys.exit(not (a==b))']
|
|
stnds = join_paths(meson.current_source_dir(), 'standards')
|
|
|
|
libsrc = include_directories('../src')
|
|
|
|
# kmx_test_source is required for linux builds, so always enable it even when we
|
|
# disable all other tests
|
|
subdir('kmx_test_source')
|
|
|
|
if get_option('keyman_core_tests')
|
|
message('option "keyman_core_tests" is true, enabling tests')
|
|
|
|
if get_option('default_library') != 'static'
|
|
ctypes_void_p_size = ['-c', 'import ctypes; print(ctypes.sizeof(ctypes.c_void_p))']
|
|
r = run_command(python, ctypes_void_p_size, check: true)
|
|
python_ctypes_compatible = r.stdout().to_int() == cpp_compiler.sizeof('void *')
|
|
if not python_ctypes_compatible
|
|
message('Python ctypes is incompatible with built shared object. Disabling some tests.')
|
|
endif
|
|
endif
|
|
|
|
subdir('unit')
|
|
else
|
|
message('option "keyman_core_tests" is false, disabling tests')
|
|
endif
|