gamemode/meson.build
Ikey Doherty 1328e07f86 Split meson up to be more modular
This also explicitly constructs reusable library components to make it
easier to extend the project over time. Notably we make less assumptions
about the host system and use pkgconfig where appropriate to give us
system details, such as the systemd system unit directory for packaging.
This can be overriden with the meson option.

Signed-off-by: Ikey Doherty <ikey@solus-project.com>
2018-03-05 17:32:01 +00:00

50 lines
1.7 KiB
Meson

project(
'gamemode',
'c',
default_options : ['c_std=c11'],
version: '0.2',
license: 'BSD',
)
cc = meson.get_compiler('c')
path_prefix = get_option('prefix')
path_bindir = join_paths(path_prefix, get_option('bindir'))
path_datadir = join_paths(path_prefix, get_option('datadir'))
path_includedir = join_paths(path_prefix, get_option('includedir'))
path_libdir = join_paths(path_prefix, get_option('libdir'))
# Find systemd via pkgconfig
dep_systemd = dependency('libsystemd')
# On non glibc systems this might be a stub, i.e. for musl
libdl = cc.find_library('dl', required: false)
# If the path isn't explicitly set, ask systemd for the systemd user unit directory
path_systemd_unit_dir = get_option('with-systemd-user-unit-dir')
if path_systemd_unit_dir == ''
message('Asking pkg-config for systemd\'s directories')
pkgconfig_systemd = dependency('systemd')
path_systemd_unit_dir = pkgconfig_systemd.get_pkgconfig_variable('systemduserunitdir')
endif
subdir('lib')
subdir('daemon')
subdir('example')
subdir('data')
report = [
' Build configuration:',
' ====================',
'',
' prefix: @0@'.format(path_prefix),
' bindir: @0@'.format(path_bindir),
' datadir: @0@'.format(path_datadir),
' libdir: @0@'.format(path_libdir),
' includedir: @0@'.format(path_includedir),
' systemd user unit directory: @0@'.format(path_systemd_unit_dir),
]
# Output some stuff to validate the build config
message('\n\n\n' + '\n'.join(report) + '\n\n')