Add Meson feature options

This commit is contained in:
emersion 2019-01-18 08:58:57 +01:00
parent af03502384
commit 667fea6a8f
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
2 changed files with 12 additions and 18 deletions

View File

@ -2,6 +2,7 @@ project(
'swaylock',
'c',
license: 'MIT',
meson_version: '>=0.48.0',
default_options: [
'c_std=c11',
'warning_level=2',
@ -38,9 +39,9 @@ xkbcommon = dependency('xkbcommon')
cairo = dependency('cairo')
pango = dependency('pango')
pangocairo = dependency('pangocairo')
gdk_pixbuf = dependency('gdk-pixbuf-2.0', required: false)
libpam = cc.find_library('pam', required: get_option('pam') == 'enabled')
crypt = cc.find_library('crypt', required: false)
gdk_pixbuf = dependency('gdk-pixbuf-2.0', required: get_option('gdk-pixbuf'))
libpam = cc.find_library('pam', required: get_option('pam'))
crypt = cc.find_library('crypt', required: not libpam.found())
math = cc.find_library('m')
git = find_program('git', required: false)
@ -139,17 +140,15 @@ sources = [
'unicode.c',
]
if libpam.found() and get_option('pam') != 'disabled'
if libpam.found()
sources += ['pam.c']
dependencies += [libpam]
else
warning('The swaylock binary must be setuid when compiled without libpam')
warning('You must do this manually post-install: chmod a+s /path/to/swaylock')
sources += ['shadow.c']
if crypt.found()
dependencies += [crypt]
endif
endif
swaylock_inc = include_directories('include')

View File

@ -1,11 +1,6 @@
option('swaylock-version', type : 'string', description: 'The version string reported in `swaylock --version`.')
option(
'pam',
type: 'combo',
choices: ['auto', 'enabled', 'disabled'],
value: 'auto',
description: 'Use PAM instead of shadow.',
)
option('zsh-completions', type: 'boolean', value: true, description: 'Install zsh shell completions.')
option('bash-completions', type: 'boolean', value: true, description: 'Install bash shell completions.')
option('fish-completions', type: 'boolean', value: true, description: 'Install fish shell completions.')
option('swaylock-version', type : 'string', description: 'The version string reported in `swaylock --version`')
option('pam', type: 'feature', value: 'auto', description: 'Use PAM instead of shadow')
option('gdk-pixbuf', type: 'feature', value: 'auto', description: 'Enable support for more image formats')
option('zsh-completions', type: 'boolean', value: true, description: 'Install zsh shell completions')
option('bash-completions', type: 'boolean', value: true, description: 'Install bash shell completions')
option('fish-completions', type: 'boolean', value: true, description: 'Install fish shell completions')