meson: Declare dependencies for use as a subproject
Also use fallbacks for dependencies that have meson build files
This commit is contained in:
parent
14432b3ded
commit
f65def4dc7
28
meson.build
28
meson.build
|
@ -26,16 +26,32 @@ check_funcs = [
|
|||
['round'],
|
||||
]
|
||||
|
||||
freetype_dep = dependency('freetype2', required: false, fallback: ['freetype2', 'freetype_dep'])
|
||||
glib_dep = dependency('glib-2.0', required: false, fallback: ['glib', 'libglib_dep'])
|
||||
gobject_dep = dependency('gobject-2.0', required: false, fallback: ['glib', 'libgobject_dep'])
|
||||
cairo_dep = dependency('cairo', required: false)
|
||||
cairo_ft_dep = dependency('cairo-ft', required: false)
|
||||
fontconfig_dep = dependency('fontconfig', required: false, fallback: ['fontconfig', 'fontconfig_dep'])
|
||||
freetype_dep = dependency('freetype2', required: false,
|
||||
fallback: ['freetype2', 'freetype_dep'])
|
||||
glib_dep = dependency('glib-2.0', required: false,
|
||||
fallback: ['glib', 'libglib_dep'])
|
||||
gobject_dep = dependency('gobject-2.0', required: false,
|
||||
fallback: ['glib', 'libgobject_dep'])
|
||||
cairo_dep = dependency('cairo', required: false,
|
||||
fallback: ['cairo', 'libcairo_dep'])
|
||||
fontconfig_dep = dependency('fontconfig', required: false,
|
||||
fallback: ['fontconfig', 'fontconfig_dep'])
|
||||
graphite2_dep = dependency('graphite2', required: false)
|
||||
icu_dep = dependency('icu-uc', required: false)
|
||||
m_dep = cpp.find_library('m', required: false)
|
||||
|
||||
# Ensure that cairo-ft is fetched from the same library as cairo itself
|
||||
if cairo_dep.found()
|
||||
if cairo_dep.type_name() == 'pkgconfig'
|
||||
cairo_ft_dep = dependency('cairo-ft', required: false)
|
||||
else
|
||||
cairo_ft_dep = cairo_dep
|
||||
endif
|
||||
else
|
||||
# Not-found dependency
|
||||
cairo_ft_dep = dependency('', required: false)
|
||||
endif
|
||||
|
||||
deps = []
|
||||
|
||||
conf = configuration_data()
|
||||
|
|
|
@ -192,6 +192,11 @@ libharfbuzz = library('harfbuzz', hb_sources,
|
|||
install: true,
|
||||
name_prefix: 'lib')
|
||||
|
||||
libharfbuzz_dep = declare_dependency(
|
||||
link_with: libharfbuzz,
|
||||
include_directories: [incbase, incucdn],
|
||||
dependencies: deps)
|
||||
|
||||
libharfbuzz_subset = library('harfbuzz-subset', hb_subset_sources,
|
||||
include_directories: incbase,
|
||||
link_with: [libharfbuzz],
|
||||
|
@ -202,6 +207,11 @@ libharfbuzz_subset = library('harfbuzz-subset', hb_subset_sources,
|
|||
install: true,
|
||||
name_prefix: 'lib')
|
||||
|
||||
libharfbuzz_subset_dep = declare_dependency(
|
||||
link_with: libharfbuzz_subset,
|
||||
include_directories: incbase,
|
||||
dependencies: deps)
|
||||
|
||||
pkgmod.generate(libharfbuzz,
|
||||
description: 'HarfBuzz text shaping library',
|
||||
subdirs: [meson.project_name()],
|
||||
|
@ -264,11 +274,18 @@ if conf.get('HAVE_GOBJECT', 0) == 1
|
|||
install: true,
|
||||
name_prefix: 'lib')
|
||||
|
||||
libharfbuzz_gobject_dep = declare_dependency(
|
||||
link_with: libharfbuzz_gobject,
|
||||
include_directories: incbase,
|
||||
dependencies: deps)
|
||||
|
||||
pkgmod.generate(libharfbuzz_gobject,
|
||||
description: 'HarfBuzz text shaping library GObject integration',
|
||||
subdirs: [meson.project_name()],
|
||||
version: meson.project_version(),
|
||||
)
|
||||
else
|
||||
libharfbuzz_gobject_dep = dependency('', required: false)
|
||||
endif
|
||||
|
||||
install_headers(hb_headers + hb_gobject_headers + hb_subset_headers, subdir: meson.project_name())
|
||||
|
|
Loading…
Reference in New Issue