geary/bindings/meson.build
Niels De Graef 01c13f726f Port build system to Meson. Bug 777044.
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
2017-12-12 00:27:46 +01:00

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/'),
)