gnome-shell/src/meson.build

303 lines
7.3 KiB
Meson
Raw Normal View History

service_data = configuration_data()
service_data.set('libexecdir', libexecdir)
subdir('calendar-server')
subdir('hotplug-sniffer')
subdir('st')
subdir('tray')
script_data = configuration_data()
script_data.set('bindir', bindir)
script_data.set('datadir', datadir)
script_data.set('libdir', libdir)
script_data.set('libexecdir', libexecdir)
script_data.set('pkgdatadir', pkgdatadir)
script_data.set('pkglibdir', pkglibdir)
script_data.set('sysconfdir', sysconfdir)
script_data.set('PYTHON', python.path())
script_data.set('VERSION', meson.project_version())
foreach tool : ['gnome-shell-extension-tool', 'gnome-shell-perf-tool']
configure_file(
input: tool + '.in',
output: tool,
configuration: script_data,
install_dir: bindir
)
endforeach
gnome_shell_cflags = [
'-DCLUTTER_ENABLE_EXPERIMENTAL_API',
'-DCOGL_ENABLE_EXPERIMENTAL_API',
'-DVERSION="@0@"'.format(meson.project_version()),
'-DLOCALEDIR="@0@"'.format(localedir),
'-DDATADIR="@0@"'.format(datadir),
'-DGNOME_SHELL_LIBEXECDIR="@0@"'.format(libexecdir),
'-DGNOME_SHELL_DATADIR="@0@"'.format(pkgdatadir),
'-DGNOME_SHELL_PKGLIBDIR="@0@"'.format(pkglibdir)
]
rpath_link_args = ['-Wl,-rpath', mutter_typelibdir]
install_rpath = ':'.join([mutter_typelibdir, pkglibdir])
gnome_shell_deps = [
gio_unix_dep,
libxml_dep,
gtk_dep,
atk_bridge_dep,
gjs_dep,
gdk_x11_dep,
soup_dep,
clutter_dep,
cogl_pango_dep,
startup_dep,
gi_dep,
canberra_dep, canberra_gtk_dep,
polkit_dep,
gcr_dep,
systemd_dep
]
gnome_shell_deps += nm_deps
gnome_shell_deps += recorder_deps
libshell_menu_gir_sources = [
'gtkactionmuxer.h',
'gtkactionmuxer.c',
'gtkactionobservable.h',
'gtkactionobservable.c',
'gtkactionobserver.h',
'gtkactionobserver.c',
'gtkmenutrackeritem.c',
'gtkmenutrackeritem.h'
]
libshell_menu_no_gir_sources= [
'gtkmenutracker.c',
'gtkmenutracker.h'
]
libshell_menu = library('gnome-shell-menu',
sources: libshell_menu_gir_sources + libshell_menu_no_gir_sources,
dependencies: [gio_dep, clutter_dep],
include_directories: conf_inc,
link_args: rpath_link_args,
install_rpath: mutter_typelibdir,
install_dir: pkglibdir,
install: true
)
libshell_menu_gir = gnome.generate_gir(libshell_menu,
sources: libshell_menu_gir_sources,
nsversion: '0.1',
namespace: 'ShellMenu',
identifier_prefix: 'Gtk',
symbol_prefix: 'gtk',
includes: ['Gio-2.0', libst_gir[0]],
dependencies: [mutter_dep],
extra_args: ['--quiet'],
install_dir_gir: pkgdatadir,
install_dir_typelib: pkglibdir,
install: true
)
libshell_menu_dep = declare_dependency(link_with: libshell_menu)
libshell_public_headers = [
'shell-app.h',
'shell-app-system.h',
'shell-app-usage.h',
'shell-embedded-window.h',
'shell-generic-container.h',
'shell-glsl-quad.h',
'shell-gtk-embed.h',
'shell-global.h',
'shell-invert-lightness-effect.h',
'shell-action-modes.h',
'shell-mount-operation.h',
'shell-perf-log.h',
'shell-screenshot.h',
'shell-stack.h',
'shell-tray-icon.h',
'shell-tray-manager.h',
'shell-util.h',
'shell-window-tracker.h',
'shell-wm.h'
]
if have_networkmanager
libshell_public_headers += 'shell-network-agent.h'
endif
libshell_private_headers = [
'shell-app-private.h',
'shell-app-system-private.h',
'shell-global-private.h',
'shell-window-tracker-private.h',
'shell-wm-private.h'
]
libshell_sources = [
'gnome-shell-plugin.c',
'shell-app.c',
'shell-app-system.c',
'shell-app-usage.c',
'shell-embedded-window.c',
'shell-embedded-window-private.h',
'shell-generic-container.c',
'shell-global.c',
'shell-glsl-quad.c',
'shell-gtk-embed.c',
'shell-invert-lightness-effect.c',
'shell-keyring-prompt.c',
'shell-keyring-prompt.h',
'shell-menu-tracker.c',
'shell-menu-tracker.h',
'shell-mount-operation.c',
'shell-perf-log.c',
'shell-polkit-authentication-agent.c',
'shell-polkit-authentication-agent.h',
'shell-screenshot.c',
'shell-secure-text-buffer.c',
'shell-secure-text-buffer.h',
'shell-stack.c',
'shell-tray-icon.c',
'shell-tray-manager.c',
'shell-util.c',
'shell-window-tracker.c',
'shell-wm.c'
]
if have_networkmanager
libshell_sources += 'shell-network-agent.c'
endif
libshell_private_sources = []
if enable_recorder
libshell_sources += ['shell-recorder.c']
libshell_public_headers += ['shell-recorder.h']
libshell_private_sources += ['shell-recorder-src.c']
libshell_private_headers += ['shell-recorder-src.h']
endif
libshell_enums = gnome.mkenums('shell-enum-types',
sources: libshell_public_headers,
c_template: 'shell-enum-types.c.in',
h_template: 'shell-enum-types.h.in'
)
libshell_gir_sources = [
libshell_enums,
libshell_public_headers,
libshell_sources
]
libshell_no_gir_sources = [
js_resources,
libshell_private_headers,
libshell_private_sources
]
dbus_generated = gnome.gdbus_codegen('org-gtk-application',
'org.gtk.Application.xml',
namespace: 'Shell'
)
libshell_no_gir_sources += dbus_generated
libshell = library('gnome-shell',
sources: libshell_gir_sources + libshell_no_gir_sources,
dependencies: gnome_shell_deps + [libshell_menu_dep, libst_dep, mutter_dep, m_dep],
include_directories: [conf_inc, st_inc, include_directories('tray')],
c_args: gnome_shell_cflags,
link_with: [libtray],
link_args: rpath_link_args,
install_rpath: install_rpath,
install_dir: pkglibdir,
install: true
)
libshell_dep = declare_dependency(link_with: libshell)
libshell_gir_includes = [
'Clutter-@0@'.format(mutter_api_version),
'ClutterX11-@0@'.format(mutter_api_version),
'Meta-@0@'.format(mutter_api_version),
'Soup-2.4'
]
if have_networkmanager
libshell_gir_includes += ['NetworkManager-1.0', 'NMClient-1.0']
endif
libshell_gir_includes += [
libgvc_gir[0],
libshell_menu_gir[0],
libst_gir[0]
]
gnome.generate_gir(libshell,
sources: libshell_gir_sources,
nsversion: '0.1',
namespace: 'Shell',
includes: libshell_gir_includes,
extra_args: ['--quiet'],
install_dir_gir: pkgdatadir,
install_dir_typelib: pkglibdir,
install: true
)
executable('gnome-shell', 'main.c',
c_args: gnome_shell_cflags + [
'-DMUTTER_TYPELIB_DIR="@0@"'.format(mutter_typelibdir)
],
dependencies: gnome_shell_deps + [libshell_dep, libst_dep, mutter_dep],
include_directories: [conf_inc, st_inc, include_directories('tray')],
link_args: rpath_link_args,
install_rpath: install_rpath,
install: true
)
executable('gnome-shell-extension-prefs',
'gnome-shell-extension-prefs.c', js_resources,
c_args: gnome_shell_cflags,
dependencies: gnome_shell_deps,
include_directories: [conf_inc],
link_args: rpath_link_args,
install_rpath: install_rpath,
install: true
)
if have_networkmanager
executable('gnome-shell-portal-helper',
'gnome-shell-portal-helper.c', js_resources,
c_args: gnome_shell_cflags,
dependencies: gnome_shell_deps,
include_directories: [conf_inc],
link_args: rpath_link_args,
install_rpath: install_rpath,
install_dir: libexecdir,
install: true
)
endif
executable('gnome-shell-perf-helper', 'shell-perf-helper.c',
dependencies: [gtk_dep, gio_dep, m_dep],
include_directories: [conf_inc],
link_args: rpath_link_args,
install_rpath: install_rpath,
install_dir: libexecdir,
install: true
)
executable('run-js-test', 'run-js-test.c',
dependencies: [mutter_dep, gio_dep, gjs_dep],
include_directories: [conf_inc],
link_with: libshell,
link_args: rpath_link_args
)