build: Add -Dui option to Meson

This allows the UI components (libmalcontent-ui and malcontent-control)
to be disabled in the build so that a dependency cycle with flatpak can
be avoided (by building malcontent twice, once with `-Dui=disabled` and
then again with `-Dui=enabled`).

The dependency graph is:
  malcontent-control → libmalcontent-ui → flatpak → libmalcontent
which becomes cyclic if libmalcontent-ui and libmalcontent can only be
built at the same time.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Fixes: #16
This commit is contained in:
Philip Withnall 2020-03-05 15:44:46 +00:00
parent bd173218e6
commit fda2fbd330
2 changed files with 12 additions and 2 deletions

View File

@ -127,9 +127,13 @@ test_env = [
subdir('accounts-service') subdir('accounts-service')
subdir('libmalcontent') subdir('libmalcontent')
if get_option('ui').enabled()
subdir('libmalcontent-ui') subdir('libmalcontent-ui')
endif
subdir('malcontent-client') subdir('malcontent-client')
if get_option('ui').enabled()
subdir('malcontent-control') subdir('malcontent-control')
endif
subdir('pam') subdir('pam')
subdir('po') subdir('po')

View File

@ -9,3 +9,9 @@ option(
type: 'string', type: 'string',
description: 'directory for PAM modules' description: 'directory for PAM modules'
) )
option(
'ui',
type: 'feature',
value: 'enabled',
description: 'enable UI library'
)