build: features need to be enabled

For meson we dont just check for the presence of a dependency and
then auto enable it.
Users must enable features explicit. This helps with having
deterministic results.

Also remove the general `plugins` switch which was used to
enable/disable both python and c plugins. Users can just use
those switches.
This commit is contained in:
Michael Vetter
2026-02-05 14:19:10 +01:00
parent 886080dc9b
commit d91ff7eb20
2 changed files with 98 additions and 141 deletions

View File

@@ -1,51 +1,77 @@
# Features:
option('notifications',
type: 'feature',
value: 'auto',
value: 'disabled',
description: 'Enable desktop notifications'
)
option('python-plugins',
type: 'feature',
value: 'auto',
value: 'disabled',
description: 'Enable Python plugins'
)
option('c-plugins',
type: 'feature',
value: 'auto',
value: 'disabled',
description: 'Enable C plugins'
)
option('plugins',
type: 'feature',
value: 'auto',
description: 'Enable plugins (both Python and C)'
)
option('otr',
type: 'feature',
value: 'auto',
value: 'disabled',
description: 'Enable OTR encryption'
)
option('pgp',
type: 'feature',
value: 'auto',
value: 'disabled',
description: 'Enable PGP'
)
option('omemo',
type: 'feature',
value: 'auto',
value: 'disabled',
description: 'Enable OMEMO encryption'
)
option('xscreensaver',
type: 'feature',
value: 'auto',
value: 'disabled',
description: 'Use libXScrnSaver to determine idle time'
)
option('icons-and-clipboard',
type: 'feature',
value: 'disabled',
description: 'Enable GTK tray icons and clipboard paste support'
)
option('gdk-pixbuf',
type: 'feature',
value: 'disabled',
description: 'Enable GDK Pixbuf support to scale avatars before uploading'
)
option('omemo-qrcode',
type: 'feature',
value: 'disabled',
description: 'Enable ability to display OMEMO QR code'
)
# Other:
option('python_framework',
type: 'string',
value: '',
description: 'Set base directory for Python Framework (macOS only)'
)
option('tests',
type: 'boolean',
value: false,
description: 'Build tests'
)
option('install_themes',
type: 'boolean',
value: true,
@@ -57,33 +83,3 @@ option('themes_path',
value: '',
description: 'Custom path for themes installation (empty for default)'
)
option('icons-and-clipboard',
type: 'feature',
value: 'auto',
description: 'Enable GTK tray icons and clipboard paste support'
)
option('gdk-pixbuf',
type: 'feature',
value: 'auto',
description: 'Enable GDK Pixbuf support to scale avatars before uploading'
)
option('omemo-qrcode',
type: 'feature',
value: 'auto',
description: 'Enable ability to display OMEMO QR code'
)
option('python_framework',
type: 'string',
value: '',
description: 'Set base directory for Python Framework (macOS only)'
)
option('tests',
type: 'boolean',
value: false,
description: 'Build tests'
)