build: Move Meson dependency() calls to where they’re used

This avoids making the project depend on all its dependencies, some of
which are optional, when being built as a Meson subproject.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
Philip Withnall
2020-07-02 20:00:10 +01:00
parent 760805c8b9
commit 3c7b76c6ba
7 changed files with 24 additions and 38 deletions

View File

@ -52,30 +52,6 @@ if get_option('default_library') != 'static'
endif
endif
glib_dep = dependency('glib-2.0', version: glib_req_version)
gio_dep = dependency('gio-2.0', version: glib_req_version)
gio_unix_dep = dependency('gio-unix-2.0', version: glib_req_version)
pangoft2_dep = dependency('pangoft2', required: false)
if get_option('enable_gtk')
gtk_dep = dependency('gtk+-3.0', version: gtk_req_version)
dazzle_dep = dependency('libdazzle-1.0', version: dazzle_req_version, fallback: ['libdazzle', 'libdazzle_dep'])
endif
polkit_dep = dependency('polkit-gobject-1', version: '>= 0.114', required: false)
if polkit_dep.found()
config_h.set10('HAVE_POLKIT_AUTOPTR', true)
endif
polkit_dep = dependency('polkit-gobject-1', version: polkit_req_version, required: false)
if polkit_dep.found()
config_h.set10('HAVE_POLKIT', true)
else
if get_option('with_sysprofd') == 'bundled'
error('sysprofd requires polkit @0@'.format(polkit_req_version))
endif
endif
debugdir = get_option('debugdir')
if debugdir == ''
debugdir = join_paths(get_option('prefix'), get_option('libdir'), 'debug')

View File

@ -85,9 +85,9 @@ libsysprof_ui_resources = gnome.compile_resources(
)
libsysprof_ui_deps = [
gio_dep,
gtk_dep,
dazzle_dep,
dependency('gio-2.0', version: glib_req_version),
dependency('gtk+-3.0', version: gtk_req_version),
dependency('libdazzle-1.0', version: dazzle_req_version, fallback: ['libdazzle', 'libdazzle_dep']),
libsysprof_dep,
]

View File

@ -100,10 +100,19 @@ librax_dep = declare_dependency(
include_directories: include_directories('.'),
)
polkit_dep = dependency('polkit-gobject-1', version: polkit_req_version, required: false)
if polkit_dep.found()
libsysprof_c_args += ['-DHAVE_POLKIT']
endif
if dependency('polkit-gobject-1', version: '>= 0.114', required: false).found()
libsysprof_c_args += ['-DHAVE_POLKIT_AUTOPTR']
endif
libsysprof_deps = [
libsysprof_capture_deps,
gio_dep,
gio_unix_dep,
dependency('gio-2.0', version: glib_req_version),
dependency('gio-unix-2.0', version: glib_req_version),
polkit_dep,
librax_dep,
]

View File

@ -17,7 +17,7 @@ sysprof_deps = [
libsysprof_capture_dep,
libsysprof_dep,
libsysprof_ui_dep,
pangoft2_dep,
dependency('pangoft2', required: false),
]
sysprof = executable('sysprof', sysprof_resources + sysprof_sources,

View File

@ -16,10 +16,10 @@ sysprofd_sources = [
pkglibexecdir = join_paths(get_option('prefix'), get_option('libexecdir'))
sysprofd_deps = [
glib_dep,
gio_dep,
gio_unix_dep,
polkit_dep,
dependency('glib-2.0', version: glib_req_version),
dependency('gio-2.0', version: glib_req_version),
dependency('gio-unix-2.0', version: glib_req_version),
dependency('polkit-gobject-1', version: polkit_req_version),
libsysprof_capture_dep,
]

View File

@ -116,9 +116,9 @@ if get_option('enable_gtk')
test_ui_deps = [
libsysprof_dep,
libsysprof_ui_dep,
gtk_dep,
dazzle_dep,
pangoft2_dep,
dependency('gtk+-3.0', version: gtk_req_version),
dependency('libdazzle-1.0', version: dazzle_req_version, fallback: ['libdazzle', 'libdazzle_dep']),
dependency('pangoft2', required: false),
]
test_model_filter = executable('test-model-filter', 'test-model-filter.c',

View File

@ -7,6 +7,7 @@ tools_cflags = [ '-DSYSPROF_COMPILATION ']
if get_option('libsysprof') and host_machine.system() == 'linux'
polkit_agent_dep = dependency('polkit-agent-1')
polkit_dep = dependency('polkit-gobject-1', version: polkit_req_version, required: false)
sysprof_cli = executable('sysprof-cli', 'sysprof-cli.c',
dependencies: tools_deps + [libsysprof_dep, polkit_dep, polkit_agent_dep],
c_args: tools_cflags,
@ -29,7 +30,7 @@ sysprof_dump = executable('sysprof-dump', 'sysprof-dump.c',
sysprof_profiler_ctl = executable('sysprof-profiler-ctl',
[ 'sysprof-profiler-ctl.c', ipc_profiler_src ],
dependencies: [ tools_deps, gio_unix_dep ],
dependencies: [ tools_deps, dependency('gio-unix-2.0', version: glib_req_version) ],
c_args: tools_cflags,
install: false,
)