summaryrefslogtreecommitdiffstats
path: root/panels/common/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'panels/common/meson.build')
-rw-r--r--panels/common/meson.build126
1 files changed, 126 insertions, 0 deletions
diff --git a/panels/common/meson.build b/panels/common/meson.build
new file mode 100644
index 0000000..13557c1
--- /dev/null
+++ b/panels/common/meson.build
@@ -0,0 +1,126 @@
+common_inc = include_directories('.')
+
+common_sources = []
+
+enums = 'gsd-common-enums'
+enums_header = files('gsd-device-manager.h')
+
+common_sources += gnome.mkenums(
+ enums + '.h',
+ sources: enums_header,
+ fhead: '#pragma once\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n',
+ fprod: '/* enumerations from "@filename@" */\n',
+ vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GSD_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n',
+ ftail: 'G_END_DECLS\n'
+)
+
+common_sources += gnome.mkenums(
+ enums + '.c',
+ sources: enums_header,
+ fhead: '#include "gsd-device-manager.h"\n#include "gsd-common-enums.h"\n',
+ fprod: '\n/* enumerations from "@filename@" */',
+ vhead: 'GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {',
+ vprod: ' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },',
+ vtail: ' { 0, NULL, NULL }\n };\n etype = g_@type@_register_static ("@EnumName@", values);\n }\n return etype;\n}\n'
+)
+
+resource_data = files(
+ 'cc-language-chooser.ui',
+ 'cc-language-row.ui',
+ 'cc-list-row.ui',
+ 'cc-time-editor.ui',
+ 'cc-permission-infobar.ui',
+)
+
+common_sources += gnome.compile_resources(
+ 'cc-common-resources',
+ 'common.gresource.xml',
+ c_name: 'cc_common',
+ dependencies: resource_data,
+ export: true
+)
+
+generates_sources_dep = declare_dependency(
+ sources: common_sources,
+)
+
+sources = files(
+ 'cc-hostname-entry.c',
+ 'cc-time-entry.c',
+ 'hostname-helper.c',
+)
+
+libwidgets = static_library(
+ 'widgets',
+ sources: sources,
+ include_directories: top_inc,
+ dependencies: common_deps + [ generates_sources_dep, polkit_gobject_dep ]
+)
+libwidgets_dep = declare_dependency(
+ include_directories: common_inc,
+ link_with: libwidgets
+)
+
+sources = common_sources + files(
+ 'cc-common-language.c',
+ 'cc-language-chooser.c',
+ 'cc-language-row.c',
+ 'cc-list-row.c',
+ 'cc-time-editor.c',
+ 'cc-permission-infobar.c',
+ 'cc-util.c'
+)
+
+deps = common_deps + [
+ generates_sources_dep,
+ gnome_desktop_dep,
+ dependency('fontconfig')
+]
+
+liblanguage = static_library(
+ 'language',
+ sources: sources,
+ include_directories: top_inc,
+ dependencies: deps
+)
+
+liblanguage_dep = declare_dependency(
+ include_directories: common_inc,
+ link_with: liblanguage
+)
+
+gsd_headers = [
+ 'gsd-device-manager.h',
+ 'gsd-input-helper.h'
+]
+
+gsd_sources = [
+ 'gsd-device-manager.c',
+ 'gsd-input-helper.c'
+]
+
+sources = common_sources + files(gsd_sources)
+
+deps = common_deps + [ gudev_dep ]
+
+libdevice = static_library(
+ 'device',
+ sources: sources,
+ include_directories: top_inc,
+ dependencies: deps
+)
+
+libdevice_dep = declare_dependency(
+ include_directories: common_inc,
+ link_with: libdevice
+)
+
+polkit_conf = configuration_data()
+polkit_conf.set('PRIVILEGED_GROUP', get_option('privileged_group'))
+configure_file(
+ input: 'gnome-control-center.rules.in',
+ output: 'gnome-control-center.rules',
+ configuration: polkit_conf,
+ install_dir: join_paths(control_center_datadir, 'polkit-1', 'rules.d')
+)
+