mirror of https://github.com/kiwix/libkiwix.git
Merge pull request #405 from kiwix/support_for_meson_0_45
This commit is contained in:
commit
c14c148af7
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue