libkiwix/meson.build
Matthieu Gautier 50071d1053 Do not try to link with ctpp2-st.
ctpp2-st is not a standard name, all other projects use the same base name
for dynamic and static libs.

Debian already patch the lib name in the ctpp2 package.
As we also patch it in kiwix-build, we can ignore ctpp2-st and always
try to link on ctpp2.

This is even necessary if we use the ctpp2-install-prefix. As we ctpp2 is
in a custom directory, meson fails in the foreach loop as it cannot find
ctpp2.
We could fix, the ctpp2 lib search to also search ctpp2-st in standard
directory AND the custom one but it seems to be a lot of work for nothing
as ctpp2-st is not used at all in our usecases.
2017-01-30 17:58:29 +01:00

77 lines
2.4 KiB
Meson

project('kiwixlib', 'cpp',
version : '1.0.0',
license : 'GPL')
compiler = meson.get_compiler('cpp')
thread_dep = dependency('threads')
libicu_dep = dependency('icu-i18n')
libzim_dep = dependency('libzim')
pugixml_dep = dependency('pugixml')
find_library_in_compiler = meson.version().version_compare('>=0.31.0')
ctpp2_prefix_install = get_option('ctpp2-install-prefix')
if ctpp2_prefix_install == ''
if not compiler.has_header('ctpp2/CTPP2Logger.hpp')
error('ctpp2/CTPP2Logger.hppnot found')
endif
if find_library_in_compiler
ctpp2_lib = compiler.find_library('ctpp2')
else
ctpp2_lib = find_library('ctpp2')
endif
link_args = ['-lctpp2']
if meson.is_cross_build()
if host_machine.system() == 'windows'
link_args += ['-liconv']
endif
endif
ctpp2_dep = declare_dependency(link_args:link_args)
else
if not find_library_in_compiler
error('For custom ctpp2_prefix_install you need a meson version >=0.31.0')
endif
ctpp2_include_path = ctpp2_prefix_install + '/include'
ctpp2_include_args = ['-I'+ctpp2_include_path]
if not compiler.has_header('ctpp2/CTPP2Logger.hpp', args:ctpp2_include_args)
error('ctpp2/CTPP2Logger.hpp not found')
endif
ctpp2_include_path = include_directories(ctpp2_include_path, is_system:true)
ctpp2_lib_path = ctpp2_prefix_install+'/lib'
ctpp2_lib = compiler.find_library('ctpp2', dirs:ctpp2_lib_path)
link_args = ['-L'+ctpp2_lib_path, '-lctpp2']
if meson.is_cross_build()
if host_machine.system() == 'windows'
link_args += ['-liconv']
endif
endif
ctpp2_dep = declare_dependency(include_directories:ctpp2_include_path, link_args:link_args)
endif
pkg_requires = ['libzim', 'icu-i18n', 'pugixml']
xapian_dep = dependency('xapian-core', required:false)
if xapian_dep.found()
pkg_requires += ['xapian-core']
message('xapian_dep found')
else
message('xapian_dep not found')
endif
all_deps = [thread_dep, libicu_dep, libzim_dep, ctpp2_dep, xapian_dep, pugixml_dep]
inc = include_directories('include')
subdir('include')
subdir('scripts')
subdir('static')
subdir('src')
pkg_mod = import('pkgconfig')
pkg_mod.generate(libraries : kiwixlib,
version : '1.0',
name : 'libkiwix',
filebase : 'kiwix',
description : 'A library that contains a lot of things used by used by other kiwix programs',
requires: pkg_requires)