gnome-control-center/shell/meson.build

150 lines
3.1 KiB
Meson
Raw Normal View History

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)]
libshell = static_library(
'shell',
sources: 'cc-shell-model.c',
include_directories: [top_inc, common_inc],
dependencies: common_deps,
c_args: cflags
)
common_sources = files(
'cc-application.c',
'cc-editable-entry.c',
'cc-hostname-entry.c',
'cc-log.c',
'cc-object-storage.c',
'cc-panel-loader.c',
'cc-panel.c',
'cc-shell-category-view.c',
'cc-shell-item-view.c',
'cc-shell.c',
'hostname-helper.c',
'list-box-helper.c',
'main.c'
)
resource_data = files(
'help-overlay.ui',
'panel-list.ui',
'window.ui'
)
common_sources += gnome.compile_resources(
'resources',
meson.project_name() + '.gresource.xml',
dependencies: resource_data,
export: true
)
sources = common_sources + files(
'cc-panel-list.c',
'cc-window.c'
)
shell_deps = common_deps + [
libdevice_dep,
liblanguage_dep,
polkit_gobject_dep,
x11_dep
]
if enable_cheese
shell_deps += cheese_deps
endif
if host_is_linux_not_s390
shell_deps += wacom_deps
endif
# Debug
debug_conf = configuration_data()
debug_conf.set('BUGREPORT_URL', 'http://bugzilla.gnome.org/enter_bug.cgi?product=' + meson.project_name())
debug_conf.set10('ENABLE_TRACING', enable_tracing)
sources += configure_file(
input: 'cc-debug.h.in',
output: 'cc-debug.h',
configuration: debug_conf
)
executable(
meson.project_name(),
sources,
include_directories: top_inc,
dependencies: shell_deps,
c_args: cflags,
link_with: panels_libs + [libshell],
install: true
)
# 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']
)
test_unit = 'test-hostname'
sources = files(
'hostname-helper.c',
test_unit + '.c'
)
cflags += [
'-DTEST_SRCDIR="@0@"'.format(meson.current_source_dir()),
'-DTEST_TOPSRCDIR="@0@"'.format(meson.source_root())
]
exe = executable(
test_unit,
sources,
include_directories: top_inc,
dependencies: common_deps,
c_args: cflags
)
test(test_unit, exe)
install_data ('org.gnome.ControlCenter.gschema.xml',
install_dir: control_center_schemadir)