summaryrefslogtreecommitdiff
path: root/libmate-desktop/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'libmate-desktop/meson.build')
-rw-r--r--libmate-desktop/meson.build145
1 files changed, 145 insertions, 0 deletions
diff --git a/libmate-desktop/meson.build b/libmate-desktop/meson.build
new file mode 100644
index 0000000..77007a6
--- /dev/null
+++ b/libmate-desktop/meson.build
@@ -0,0 +1,145 @@
+libmdt_inc = include_directories('.')
+
+headers = files(
+ 'mate-desktop.h',
+ 'mate-desktop-utils.h',
+ 'mate-desktop-item.h',
+ 'mate-dconf.h',
+ 'mate-gsettings.h',
+ 'mate-bg.h',
+ 'mate-bg-crossfade.h',
+ 'mate-desktop-thumbnail.h',
+ 'mate-rr.h',
+ 'mate-languages.h',
+ 'mate-rr-config.h',
+ 'mate-rr-labeler.h',
+ 'mate-colorbutton.h',
+ 'mate-colorsel.h',
+ 'mate-hsv.h',
+ 'mate-colorseldialog.h',
+)
+
+install_headers(
+ headers,
+ subdir: 'mate-desktop-2.0/libmate-desktop',
+)
+
+sources = files(
+ 'mate-desktop-item.c',
+ 'mate-desktop-utils.c',
+ 'mate-desktop-thumbnail.c',
+ 'mate-thumbnail-pixbuf-utils.c',
+ 'mate-dconf.c',
+ 'mate-gsettings.c',
+ 'mate-bg.c',
+ 'mate-bg-crossfade.c',
+ 'display-name.c',
+ 'mate-rr.c',
+ 'mate-languages.c',
+ 'mate-rr-config.c',
+ 'mate-rr-output-info.c',
+ 'mate-rr-labeler.c',
+ 'mate-colorbutton.c',
+ 'mate-colorsel.c',
+ 'mate-hsv.c',
+ 'mate-colorseldialog.c',
+ 'edid-parse.c',
+)
+
+deps = [
+ x11_dep,
+ gtk_dep,
+ m_dep,
+ libmdt_dep,
+ dconf_dep,
+]
+
+if get_option('pnp-ids-path') == 'internal'
+ pnp_ids_path = join_paths(matedt_pkgdatadir, 'pnp.ids')
+ install_data('pnp.ids', install_dir: matedt_pkgdatadir)
+else
+ pnp_ids_path = get_option('pnp-ids-path')
+endif
+
+cflags = [
+ '-DMATELOCALEDIR="@0@"'.format(matedt_localedir),
+ '-DG_LOG_DOMAIN="MateDesktop"',
+ '-DISO_CODES_PREFIX="@0@"'.format(iso_codes_prefix),
+ '-DPNP_IDS="@0@"'.format(pnp_ids_path),
+]
+
+symbol_map = join_paths(meson.current_source_dir(), meson.project_name() + '.map')
+
+test_ldflag = '-Wl,--version-script,' + symbol_map
+ldflags = []
+
+if cc.has_link_argument(test_ldflag)
+ ldflags += test_ldflag
+endif
+
+libmate_desktop = shared_library(
+ 'mate-desktop-2',
+ sources: sources,
+ version: libversion,
+ include_directories: top_inc,
+ dependencies: deps,
+ c_args: cflags,
+ link_args: ldflags,
+ link_depends: symbol_map,
+ install: true,
+ install_dir: matedt_libdir,
+)
+
+libmate_desktop_dep = declare_dependency(
+ link_with: libmate_desktop,
+ include_directories: libmdt_inc,
+ dependencies: deps,
+)
+
+pkg.generate(
+ libraries: libmate_desktop,
+ version: matedt_version,
+ name: matedt_api_name,
+ description: 'Utility library for loading .desktop files',
+ filebase: matedt_api_name,
+ subdirs: matedt_api_name,
+ requires: [
+ 'gtk+-3.0',
+ ],
+ requires_private: 'dconf',
+ variables: 'exec_prefix=' + matedt_libexecdir,
+ install_dir: join_paths(get_option('libdir'), 'pkgconfig')
+)
+
+if enable_gir
+ gir_sources = sources + headers
+
+ gir_incs = [
+ 'GObject-2.0',
+ 'Gtk-3.0',
+ ]
+
+ gir_extra_args = [
+ '--warn-all',
+ '--add-include-path=@0@'.format(meson.current_source_dir()),
+ '-DMATE_DESKTOP_USE_UNSTABLE_API',
+ ]
+
+ gir_dir = join_paths(matedt_datadir, 'gir-1.0')
+ typelib_dir = join_paths(matedt_libdir, 'girepository-1.0')
+
+ gnome.generate_gir(
+ libmate_desktop,
+ sources: gir_sources,
+ nsversion: matedt_api_version,
+ namespace: matedt_gir_ns,
+ symbol_prefix: 'mate_',
+ identifier_prefix: 'Mate',
+ export_packages: matedt_api_name,
+ includes: gir_incs,
+ extra_args: gir_extra_args,
+ install: true,
+ install_dir_gir: gir_dir,
+ install_dir_typelib: typelib_dir,
+ )
+endif