mirror of
https://github.com/FeralInteractive/gamemode.git
synced 2025-06-06 07:37:21 +02:00

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>
50 lines
1.7 KiB
Meson
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')
|