Skip to content

Introduce a proper plugin system#97

Merged
Malcohol merged 43 commits into
mainfrom
Malcohol/pluginInterface
May 4, 2026
Merged

Introduce a proper plugin system#97
Malcohol merged 43 commits into
mainfrom
Malcohol/pluginInterface

Conversation

@Malcohol

@Malcohol Malcohol commented Apr 6, 2026

Copy link
Copy Markdown
Owner

A proper interface for dynamically loading plugins.

Plugins are not expected to work across versions or different build environments, since deep C++ dependencies are expected to exist between plugin and host. However, some flexibility can exist and I've tried to make the plugin handshake somewhat robust, at least to the extent of issuing informative errors when possible.

In this initial commit of plugin functionality, all plugins are automatically loaded during start up.

Changes:

  • BuildCompatibility testing
  • A Version class and application version settings.
  • A cmake function for defining a library as a plugin: babelwires_add_plugin
  • Plugin discovery and loading logic
  • The libs that should be plugins are now dynamically loaded using the plugin system.

@Malcohol Malcohol marked this pull request as ready for review April 19, 2026 09:30
@Malcohol Malcohol changed the title [WIP] Proper plugin interface A proper plugin interface May 4, 2026
@Malcohol Malcohol force-pushed the Malcohol/pluginInterface branch from efe1211 to 4905060 Compare May 4, 2026 11:37
@Malcohol Malcohol changed the title A proper plugin interface Add a proper plugin system May 4, 2026
@Malcohol Malcohol changed the title Add a proper plugin system Introduce a proper plugin system May 4, 2026
@Malcohol Malcohol merged commit 1fb8da1 into main May 4, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant