summaryrefslogtreecommitdiff
path: root/panels/sharing
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2017-07-25 22:28:38 +0200
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-01-17 20:09:35 -0200
commit32edd6789e9d60b1e371660bdbb3c4a0671bd714 (patch)
treedc6db5385f0dded9a7c3720eaabef14c17e6ec15 /panels/sharing
parentd7012d033782869be146e876c7f10d451a906058 (diff)
downloadgnome-control-center-32edd6789e9d60b1e371660bdbb3c4a0671bd714.tar.gz
build: Port to meson build system
Meson is a build system focused on speed an ease of use, which helps speeding up the software development. This patch adds meson support along autotools. https://bugzilla.gnome.org/show_bug.cgi?id=785414
Diffstat (limited to 'panels/sharing')
-rw-r--r--panels/sharing/Makefile.am2
-rw-r--r--panels/sharing/meson.build100
2 files changed, 101 insertions, 1 deletions
diff --git a/panels/sharing/Makefile.am b/panels/sharing/Makefile.am
index ec5cd3fda..24b805d21 100644
--- a/panels/sharing/Makefile.am
+++ b/panels/sharing/Makefile.am
@@ -76,6 +76,6 @@ desktop_in_files = gnome-sharing-panel.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
CLEANFILES = $(desktop_in_files) $(desktop_DATA) $(polkit_policy_DATA) $(polkit_policy_in_files) $(BUILT_SOURCES)
-EXTRA_DIST = $(resource_files) sharing.gresource.xml org.gnome.controlcenter.remote-login-helper.policy.in.in org.gnome.SettingsDaemon.Sharing.xml
+EXTRA_DIST = $(resource_files) sharing.gresource.xml org.gnome.controlcenter.remote-login-helper.policy.in.in org.gnome.SettingsDaemon.Sharing.xml meson.build
-include $(top_srcdir)/git.mk
diff --git a/panels/sharing/meson.build b/panels/sharing/meson.build
new file mode 100644
index 000000000..7f0bdfb15
--- /dev/null
+++ b/panels/sharing/meson.build
@@ -0,0 +1,100 @@
+panels_list += cappletname
+desktop = 'gnome-@0@-panel.desktop'.format(cappletname)
+
+desktop_in = configure_file(
+ input: desktop + '.in.in',
+ output: desktop + '.in',
+ configuration: desktop_conf
+)
+
+custom_target(
+ desktop,
+ input: desktop_in,
+ output: desktop,
+ command: intltool_desktop_cmd,
+ install: true,
+ install_dir: control_center_desktopdir
+)
+
+polkit_conf = configuration_data()
+polkit_conf.set('libexecdir', control_center_libexecdir)
+
+polkit = 'org.gnome.controlcenter.remote-login-helper.policy'
+
+polkit_in = configure_file(
+ input: polkit + '.in.in',
+ output: polkit + '.in',
+ configuration: polkit_conf
+)
+
+custom_target(
+ polkit,
+ input: polkit_in,
+ output: polkit,
+ command: intltool_xml_cmd,
+ install: true,
+ install_dir: join_paths(control_center_datadir, 'polkit-1', 'actions')
+)
+
+sources = files(
+ 'cc-sharing-panel.c',
+ 'cc-media-sharing.c',
+ 'cc-remote-login.c',
+ 'cc-sharing-networks.c',
+ 'cc-sharing-switch.c',
+ 'file-share-properties.c',
+ 'vino-preferences.c'
+)
+
+resource_data = files(
+ 'networks.ui',
+ 'sharing.ui'
+)
+
+sources += gnome.compile_resources(
+ 'cc-' + cappletname + '-resources',
+ cappletname + '.gresource.xml',
+ c_name: 'cc_' + cappletname,
+ dependencies: resource_data,
+ export: true
+)
+
+settings_daemon = 'org.gnome.SettingsDaemon'
+gdbus = settings_daemon + '.Sharing'
+
+sources += gnome.gdbus_codegen(
+ gdbus,
+ gdbus + '.xml',
+ interface_prefix: settings_daemon + '.',
+ namespace: 'Gsd'
+)
+
+cflags += [
+ '-DLIBEXECDIR="@0@"'.format(control_center_libexecdir),
+ '-DSYSCONFDIR="@0@"'.format(control_center_sysconfdir)
+]
+
+panels_libs += static_library(
+ cappletname,
+ sources: sources,
+ include_directories: top_inc,
+ dependencies: common_deps,
+ c_args: cflags
+)
+
+name = 'cc-remote-login-helper'
+
+deps = [
+ gio_dep,
+ glib_dep
+]
+
+executable(
+ name,
+ name + '.c',
+ include_directories: top_inc,
+ dependencies: deps,
+ c_args: cflags,
+ install: true,
+ install_dir: control_center_libexecdir
+)