Linux & OSX Build (TravisCI) | Win64 Build (AppVeyor) | Test Coverage | Coverity Analysis | CII Best Practices |
---|---|---|---|---|
[]() |
libcluon is a small single-file, header-only library written in modern C++ library to glue microservices - in a clever way - simply: cluon. Its name is inspired by gluon, an elementary particle acting as exchange particle.
libcluon is distributed as single-file, header-only library - just drop cluon-complete.hpp into your project, #include "cluon-complete.hpp"
, and compile your project with a modern C++ compiler (C++14 or newer)
Say you want to quickly realize a distributed software system where individual software components exchange messages and you want to keep your project as simple and clean as possible - that's a typical use-case for libcluon. Getting Started Tutorial using an online C++ compiler.
#include "cluon-complete.hpp"
, and compile your project with a modern C++ compiler (C++14 or newer)No dependencies! All you need is a C++14-compliant compiler as the project ships the following dependencies as part of the source distribution:
As part of our CI strategy thanks to TravisCI and AppVeyor, we are continuously building with:
Darwin 16.7.0 (x86_64)/AppleClang 9.0.0.9000038
FreeBSD 11.1 (x86_64)/GCC 6.4.0
NetBSD 8.0 (x86_64)/GCC 5.5.0
OpenBSD 6.3 (x86_64)/clang 5.0.1
Windows (x86_64)/MSVC 19.13.26129.0
Ubuntu 18.04 LTS (x86_64)/GCC 7.4.0
Ubuntu 18.04 LTS (x86_64)/clang 7.0.0
Ubuntu 16.04 LTS (x86_64)/GCC 5.4.0
Ubuntu 16.04 LTS (x86_64)/clang 7.0.0
Ubuntu 14.04 LTS (armhf)/clang 3.8.1
Ubuntu 14.04 LTS (x86_64)/GCC 8.0.1
Ubuntu 14.04 LTS (x86_64)/GCC 7.3.0
Ubuntu 14.04 LTS (x86_64)/GCC 6.4.0
Ubuntu 14.04 LTS (x86_64)/GCC 5.5.0
Ubuntu 14.04 LTS (x86_64)/clang 6.0.1
Ubuntu 14.04 LTS (x86_64)/clang 5.0.2
Ubuntu 14.04 LTS (x86_64)/clang 5.0.0
Ubuntu 14.04 LTS (x86_64)/clang 4.0.1
Ubuntu 14.04 LTS (x86_64)/clang 3.9.1
Ubuntu 14.04 LTS (x86_64)/clang 3.8.0
libcluon
is provided as header-only, single-file library as well - just drop cluon-complete.hpp into your project, #include "cluon-complete.hpp"
where you want to use libcluon, and compile your project with a modern C++ compiler (C++14 or newer).
We are providing pre-compiled binaries for Ubuntu 20.04 LTS (Focal Fossa) via Ubuntu's Launchpad for amd64
, i386
, armfh
, and arm64
; simply add the following PPA to your sources list:
sudo add-apt-repository ppa:chrberger/libcluon
Afterwards, update your package database and install libcluon
:
sudo apt-get update
sudo apt-get install libcluon
We are providing pre-compiled binaries for Ubuntu 18.04 LTS (Bionic Beaver) via Ubuntu's Launchpad for amd64
, i386
, armfh
, and arm64
; simply add the following PPA to your sources list:
sudo add-apt-repository ppa:chrberger/libcluon
Afterwards, update your package database and install libcluon
:
sudo apt-get update
sudo apt-get install libcluon
To use libcluon
on Debian, you need to add the repository key first:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8EA63C9470BA0E595B75BBA2A92E492AC0B8C7EC
Afterwards, install add-apt-repository
and its dependencies:
sudo apt install dirmngr software-properties-common
Then, you can add the libcluon
repository:
sudo add-apt-repository ppa:chrberger/libcluon
Now, you can finally install libcluon
:
sudo apt update && sudo apt install libcluon
We are providing pre-compiled binaries for Alpine 3.13 for x86_64
, armfh
, and aarch64
; simply install the pre-compile .apk
package as follows:
apk add libcluon --no-cache --repository https://chrberger.github.io/libcluon/alpine/v3.13 --allow-untrusted
We are providing pre-compiled binaries including debug symbols for Windows 64 via BinTray here: https://bintray.com/chrberger/libcluon/libcluon-win64-debug#files/
To compile libcluon
from sources on an Ubuntu 16.04 LTS (Xenial Xerus) system, you need to have build-essential
, cmake
, and git
installed:
sudo apt-get install build-essential git cmake
Afterwards, simply clone our Git repository:
git clone https://github.com/chrberger/libcluon.git
As an alternative, you can download our latest source release from here: https://github.com/chrberger/libcluon/releases/latest
Change to your working copy and create a build folder:
cd libcluon
mkdir build
cd build
Next, run cmake
to create the necessary build files:
cmake ../libcluon
Finally, compile and install the software:
make
make test
make install
We are happy to receive your PRs to accelerate libcluon's development; before contributing, please take a look at the Contribution Documents.