https://github.com/sourcey/pluga
Simple C++ cross-platform plugin system
https://github.com/sourcey/pluga
Last synced: about 1 year ago
JSON representation
Simple C++ cross-platform plugin system
- Host: GitHub
- URL: https://github.com/sourcey/pluga
- Owner: sourcey
- Created: 2014-05-29T02:56:38.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2017-05-28T05:02:37.000Z (almost 9 years ago)
- Last Synced: 2024-04-08T16:30:08.817Z (about 2 years ago)
- Language: C++
- Homepage: http://sourcey.com/pluga/
- Size: 17.6 KB
- Stars: 152
- Watchers: 19
- Forks: 35
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pluga
> Simple C++ plugin system
[](https://circleci.com/gh/sourcey/libsourcey)
[](http://sourcey.com/libsourcey/api-pacm/)
**Homepage**: [http://sourcey.com/pluga](http://sourcey.com/pluga/)
**Documentation**: [http://sourcey.com/libsourcey/api-pluga/](http://sourcey.com/libsourcey/api-pluga/)
**Dependencies**: [LibSourcey (base, uv)](http://sourcey.com/libsourcey/)
**Licence**: LGPL
Pluga is a simple C++ plugin system that you can drop into your own projects. It currently supports:
* Loading cross-platform plugins and shared libraries
* Simple and elegant API for defining plugins
* Strict API versioning for ABI safety
For more information take a look at [this blog post](http://sourcey.com/building-a-simple-cpp-cross-platform-plugin-system) which talks about the concepts and mothodology behind Pluga.
## Installing
* Install [LibSourcey](http://sourcey.com/libsourcey/#installation)
* Clone the Pluga repository in the LibSourcey `src` folder:
~~~ bash
cd libsourcey/src
git clone https://github.com/sourcey/pluga.git
~~~
* Ensure the `BUILD_MODULE_pluga` build variables are enabled in CMake and regenerate the LibSourcey project files
* To build Pluga tests also enable the `BUILD_TESTS` and `BUILD_TEST_pluga` variables in CMake
## Contributing
Contributions in the form of pull requests are always welcome.
1. [Fork Pluga on Github](https://github.com/sourcey/pluga)
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request
## Issues
If you find any bugs or issues please use the [Github issue tracker](https://github.com/sourcey/pluga/issues).