Core features
Control the main functionality of Draconis++:packagecount
packagecount
Enable package count functionality to display installed packages from various package managers.
- Type: feature
- Default: enabled
- Meson flag:
-Dpackagecount=enabled|disabled|auto
caching
caching
Enable caching functionality to improve performance by storing frequently accessed data.
- Type: feature
- Default: enabled
- Meson flag:
-Dcaching=enabled|disabled|auto
plugins
plugins
Enable the plugin system for extending Draconis++ with custom functionality.
- Type: feature
- Default: enabled
- Meson flag:
-Dplugins=enabled|disabled|auto
libdl for dynamic loading.precompiled_config
precompiled_config
Use precompiled configuration instead of runtime TOML parsing.
- Type: boolean
- Default: false
- Meson flag:
-Dprecompiled_config=true|false
config.hpp file at the project root. See Precompiled configuration for details.default_language
default_language
Set the default language for localization.
- Type: string
- Default: “en”
- Meson flag:
-Ddefault_language=en - Valid values: en, es, fr, de
DRAC_DEFAULT_LANGUAGE preprocessor definition.Build configuration
Control what components get built:| Option | Type | Default | Description |
|---|---|---|---|
build_cli | boolean | true | Build the CLI application |
build_examples | boolean | true | Build example applications |
build_tests | boolean | true | Build unit tests |
Plugin system
static_plugins
static_plugins
Compile plugins directly into the binary for maximum portability.
- Type: array
- Default: [] (empty)
- Meson flag:
-Dstatic_plugins=['plugin1','plugin2']
precompiled_config=true, creates a fully portable binary with no external dependencies.When
precompiled_config=true, plugins are only enabled if static_plugins is non-empty.Platform-specific options
Linux/BSD display server support
- XCB (X11)
- Wayland
Enable X11 window manager and display support using libxcb.
- Type: feature
- Default: enabled
- Meson flag:
-Dxcb=enabled|disabled|auto - Platform: Linux, BSD (not Windows/macOS/Serenity/Haiku)
xau, xcb, xcb-randr, xdmcpLinux package manager support
pugixml
pugixml
Use pugixml for parsing XBPS package metadata on Void Linux.
- Type: feature
- Default: auto
- Meson flag:
-Dpugixml=enabled|disabled|auto - Platform: Linux, BSD (not Windows/macOS/Serenity/Haiku)
Development and Nix options
| Option | Type | Default | Description |
|---|---|---|---|
build_for_musl | boolean | false | Build for musl libc (primarily for Nix) |
use_linked_pci_ids | boolean | false | Use linked PCI IDs database (primarily for Nix) |
Preprocessor definitions
Meson options are converted to C++ preprocessor definitions:Common configurations
Viewing build configuration
After runningmeson setup, Meson displays a configuration summary: