Merge pull request #405 from kiwix/support_for_meson_0_45

This commit is contained in:
Matthieu Gautier 2020-08-11 18:27:37 +02:00 committed by GitHub
commit c14c148af7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 33 additions and 17 deletions

View File

@ -58,7 +58,7 @@ Environment
------------- -------------
The Kiwix library builds using [Meson](https://mesonbuild.com/) version The Kiwix library builds using [Meson](https://mesonbuild.com/) version
0.43 or higher. Meson relies itself on Ninja, pkg-config and few other 0.45 or higher. Meson relies itself on Ninja, pkg-config and few other
compilation tools. compilation tools.
Install first the few common compilation tools: Install first the few common compilation tools:

View File

@ -7,19 +7,19 @@ compiler = meson.get_compiler('cpp')
wrapper = get_option('wrapper') wrapper = get_option('wrapper')
static_deps = 'android' in wrapper or 'java' in wrapper or get_option('default_library') == 'static' static_deps = wrapper.contains('android') or wrapper.contains('java') or get_option('default_library') == 'static'
if 'android' in wrapper if wrapper.contains('android')
extra_libs = ['-llog'] extra_libs = ['-llog']
else else
extra_libs = [] extra_libs = []
endif endif
if 'java' in wrapper if wrapper.contains('java')
add_languages('java') add_languages('java')
endif endif
# See https://github.com/kiwix/kiwix-lib/issues/371 # See https://github.com/kiwix/kiwix-lib/issues/371
if target_machine.cpu_family() in ['arm', 'mips', 'm68k', 'ppc', 'sh4'] if ['arm', 'mips', 'm68k', 'ppc', 'sh4'].contains(target_machine.cpu_family())
extra_libs += '-latomic' extra_libs += '-latomic'
endif endif

View File

@ -34,13 +34,13 @@ else
kiwix_sources += 'subprocess_unix.cpp' kiwix_sources += 'subprocess_unix.cpp'
endif endif
if 'android' in wrapper if wrapper.contains('android')
install_dir = 'kiwix-lib/jniLibs/' + meson.get_cross_property('android_abi') install_dir = 'kiwix-lib/jniLibs/' + meson.get_cross_property('android_abi')
else else
install_dir = get_option('libdir') install_dir = get_option('libdir')
endif endif
if 'android' in wrapper or 'java' in wrapper if wrapper.contains('android') or wrapper.contains('java')
subdir('wrapper/java') subdir('wrapper/java')
endif endif

View File

@ -1,7 +1,3 @@
configure_file(input : 'data/example.zim',
output : 'example.zim',
copy: true )
tests = [ tests = [
'parseUrl', 'parseUrl',
'library', 'library',
@ -26,12 +22,32 @@ gtest_dep = dependency('gtest',
required:false) required:false)
if gtest_dep.found() and not meson.is_cross_build() if gtest_dep.found() and not meson.is_cross_build()
configure_file(input : 'data/wikipedia_en_ray_charles_mini_2020-03.zim', data_files = [
output : 'zimfile.zim', 'example.zim',
copy: true ) 'zimfile.zim',
configure_file(input : 'data/corner_cases.zim', 'corner_cases.zim'
output : 'corner_cases.zim', ]
copy: true ) foreach file : data_files
# configure_file(input : 'data/' + file,
# output : file,
# copy: true )
#
# Above (commented) command doesn't work with Meson versions below 0.47
# (in which the 'copy' keyword was first introduced). We want to keep
# compatibility with Ubuntu 18.04 Bionic (which has Meson version 0.45)
# until its EOL.
#
# Below is a python based workaround.
configure_file(input : 'data/' + file,
output : file,
command: [
find_program('python3'),
'-c',
'import sys; import shutil; shutil.copy(sys.argv[1], sys.argv[2])',
'@INPUT@',
'@OUTPUT@'
])
endforeach
foreach test_name : tests foreach test_name : tests
# XXX: implicit_include_directories must be set to false, otherwise # XXX: implicit_include_directories must be set to false, otherwise