Some remarks: * Note that Meson adds a hard dependency on Python 3. * All dependencies and defines are now listed together. * Some build files were put in their respective subdirectories, e.g. the Geary engine library will be built from the Meson file in `src/engine`. * `--fatal-warnings` is no longer an explicit flag, as Meson provides `-Dwerror=true` for this. * An explicit resource file needs to be used. The issue to support this from Meson itself can be found at https://github.com/mesonbuild/meson/issues/706 . * The `gnome.yelp()` function parses a LINGUAS file so we no longer need to keep track of all languages in our build system. * There are no Debian scripts defined in the meson.build files to keep them clean, but they can be kept as separate scripts in `build-aux`. * Left out the `dist` target as there is now `ninja dist` * `geary-docs` is disabled by default, as valadoc-0.38.3 returns errors. https://bugzilla.gnome.org/show_bug.cgi?id=777044
62 lines
1.7 KiB
Meson
62 lines
1.7 KiB
Meson
# Custom VAPIs
|
|
# NOTE: We can't directly use the dependencies returned by dependency() for
|
|
# webkit2gtk (and the web extensions), since Meson then adds the packages from
|
|
# the system directories. Since there might be conflicts with our custom VAPI's,
|
|
# we need to glue pieces together. We satisfy GCC by looking up the relevant
|
|
# include directories and we please the linker by using cc.find_library()
|
|
|
|
|
|
girdir = gobject_introspection.get_pkgconfig_variable('girdir')
|
|
|
|
webkit2gtk_vapi = gnome.generate_vapi('webkit2gtk-4.8',
|
|
sources: join_paths(girdir, 'WebKit2-4.0.gir'),
|
|
vapi_dirs: vapi_dir,
|
|
metadata_dirs: metadata_dir,
|
|
packages: [
|
|
'gtk+-3.0',
|
|
'libsoup-2.4',
|
|
'javascriptcore-4.0',
|
|
],
|
|
)
|
|
|
|
webkit2gtk = declare_dependency(
|
|
dependencies: [
|
|
webkit2gtk_vapi,
|
|
javascriptcore,
|
|
javascriptcoregtk,
|
|
libsoup,
|
|
gdk,
|
|
gtk,
|
|
cc.find_library('webkit2gtk-4.0'),
|
|
],
|
|
include_directories: include_directories(webkit2gtk_dep.get_pkgconfig_variable('includedir')+'/webkitgtk-4.0/'),
|
|
)
|
|
|
|
|
|
webkit2gtk_web_extension_vapi = gnome.generate_vapi('webkit2gtk-web-extension-4.0',
|
|
sources: [
|
|
join_paths(girdir, 'WebKit2WebExtension-4.0.gir'),
|
|
join_paths('metadata', 'WebKit2WebExtension-4.0-custom.vala'),
|
|
],
|
|
vapi_dirs: [vapi_dir, meson.current_build_dir()],
|
|
metadata_dirs: metadata_dir,
|
|
packages: [
|
|
'gtk+-3.0',
|
|
'libsoup-2.4',
|
|
'javascriptcore-4.0',
|
|
],
|
|
)
|
|
|
|
webkit2gtk_web_extension = declare_dependency(
|
|
dependencies: [
|
|
webkit2gtk_web_extension_vapi,
|
|
glib,
|
|
gio,
|
|
gtk,
|
|
libsoup,
|
|
javascriptcore,
|
|
javascriptcoregtk,
|
|
cc.find_library('webkit2gtk-4.0'),
|
|
],
|
|
include_directories: include_directories(webkit2gtk_web_extension_dep.get_pkgconfig_variable('includedir')+'/webkitgtk-4.0/'),
|
|
)
|