The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
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]) |
|
# Assert that the platform-specific include directory is included in the compiler arguments. |
|
cc.has_header('jni_md.h', dependencies: [jni_dep]) |
|
|
|
# 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], |
|
)
|
|
|