This commit does a few different bit interwined things to the build steps: * Make libtestshell and gnome-control-center share more of the variables and resouces; * Use 'dependencies' instead of 'link_with' for libshell; * Add some visual marks as comments;
171 lines
3.7 KiB
Meson
171 lines
3.7 KiB
Meson
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 #
|
|
###################
|
|
|
|
# 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)
|
|
|
|
common_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',
|
|
)
|
|
|
|
common_sources += gnome.compile_resources(
|
|
'resources',
|
|
meson.project_name() + '.gresource.xml',
|
|
dependencies : resource_data,
|
|
export : true
|
|
)
|
|
|
|
|
|
############
|
|
# 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(
|
|
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(
|
|
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
|
|
)
|