blob: a4051ad28093d739489c7837eb79640af46c9098 [file] [log] [blame]
project('jnijava', ['c', 'java'])
if build_machine.system() == 'cygwin'
error('MESON_SKIP_TEST: cygwin test failures')
endif
if build_machine.system() == 'windows' and build_machine.cpu_family() == 'x86'
error('MESON_SKIP_TEST: failing builds on 32bit Windows because a 32bit JDK is not available in the Azure Pipelines Windows images')
endif
fs = import('fs')
javamod = import('java')
cc = meson.get_compiler('c')
java = find_program('java')
jni_dep = dependency('jni', version : '>=1.8', modules: ['jvm', 'awt'])
# Assert that the header can actually be found with the dependency.
cc.has_header('jni.h', dependencies: [jni_dep], required: true)
# Assert that the platform-specific include directory is included in the compiler arguments.
cc.has_header('jni_md.h', dependencies: [jni_dep], required: true)
# generate native headers
subdir('src')
subdir('lib')
test(
'jnitest',
java,
args: [
'-Djava.library.path=@0@'.format(fs.parent(jnijava.full_path())),
'-jar',
jnijar,
],
protocol : 'exitcode',
depends : [jnijava],
)