diff options
Diffstat (limited to '')
-rw-r--r-- | shell/meson.build | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/shell/meson.build b/shell/meson.build new file mode 100644 index 0000000..89b9659 --- /dev/null +++ b/shell/meson.build @@ -0,0 +1,176 @@ +subdir('appdata') +subdir('completions') + +service_conf = configuration_data() +service_conf.set('bindir', control_center_bindir) + +service = 'org.gnome.ControlCenter.service' + +configure_file( + input : service + '.in', + output : service, + install : true, + install_dir : join_paths(control_center_datadir, 'dbus-1', 'services'), + configuration : service_conf +) + +desktop = 'gnome-control-center.desktop' + +desktop_in = configure_file( + input : desktop + '.in.in', + output : desktop + '.in', + configuration : desktop_conf +) + +i18n.merge_file( + desktop, + type : 'desktop', + input : desktop_in, + output : desktop, + po_dir : po_dir, + install : true, + install_dir : control_center_desktopdir +) + +cflags = ['-DGNOMELOCALEDIR="@0@"'.format(control_center_localedir)] + + +# Common sources between gnome-control-center and +# libtestshell. +common_sources = files( + 'cc-application.c', + 'cc-log.c', + 'cc-object-storage.c', + 'cc-panel-loader.c', + 'cc-panel.c', + 'cc-shell.c', + 'cc-panel-list.c', + 'cc-window.c', +) + + +################### +# Generated files # +################### + +generated_sources = files() + +# Debug +debug_conf = configuration_data() +debug_conf.set('BUGREPORT_URL', 'https://gitlab.gnome.org/GNOME/' + meson.project_name() + '/issues/new') +debug_conf.set10('ENABLE_TRACING', enable_tracing) + +generated_sources += configure_file( + input : 'cc-debug.h.in', + output : 'cc-debug.h', + configuration : debug_conf +) + +#Resources +resource_data = files( + 'cc-panel-list.ui', + 'cc-window.ui', + 'help-overlay.ui', +) + +generated_sources += gnome.compile_resources( + 'resources', + meson.project_name() + '.gresource.xml', + dependencies : resource_data, + export : true +) + +common_sources += generated_sources + +############ +# libshell # +############ + +libshell = static_library( + 'shell', + sources : 'cc-shell-model.c', + include_directories : [top_inc, common_inc], + dependencies : common_deps, + c_args : cflags +) + +libshell_dep = declare_dependency( + sources : generated_sources, + include_directories : top_inc, + link_with : libshell +) + + +######################## +# gnome-control-center # +######################## + +shell_sources = common_sources + files('main.c') + +shell_deps = common_deps + [ + libdevice_dep, + liblanguage_dep, + libwidgets_dep, + x11_dep, + libshell_dep, +] + +if enable_cheese + shell_deps += cheese_deps +endif + +if host_is_linux_not_s390 + shell_deps += wacom_deps +endif + +executable( + meson.project_name(), + shell_sources, + include_directories : top_inc, + dependencies : shell_deps, + c_args : cflags, + link_with : panels_libs, + install : true +) + + +################## +# lipanel_loader # +################## + +# Because it is confusing and somewhat problematic to directly add and compile +# cc-panel-loader.o by another directory (i.e. the shell search provider), we +# have to create a library and link it there, just like libshell.la. +libpanel_loader = static_library( + 'panel_loader', + sources : 'cc-panel-loader.c', + include_directories : top_inc, + dependencies : common_deps, + c_args : cflags + ['-DCC_PANEL_LOADER_NO_GTYPES'] +) + + +################ +# libtestshell # +################ + +libtestshell = static_library( + 'testshell', + common_sources, + include_directories : top_inc, + dependencies : shell_deps, + c_args : cflags, + link_with : panels_libs, +) +libtestshell_dep = declare_dependency( + sources : generated_sources, + include_directories : top_inc, + link_with : libtestshell +) +libtestshell_deps = common_deps + [ libwidgets_dep, libtestshell_dep ] + + +install_data ( + 'org.gnome.ControlCenter.gschema.xml', + install_dir : control_center_schemadir +) |