sdbus-c++
sdbus-c++ is a C++ API library for D-Bus IPC, based on sd-bus implementation.
Building and installing the library
The library is built using CMake:
$ mkdir build
$ cd build
$ cmake .. ${CONFIGURE_FLAGS_IF_NECESSARY}
$ make
$ sudo make install
CMake configuration flags
-
BUILD_CODE_GEN[boolean]Option for building the stub code generator
sdbus-c++-xml2cppfor generating the adaptor and proxy interfaces out of the D-Bus IDL XML description.OFFby default. Use-DBUILD_CODE_GEN=ONflag to turn on building the code gen. -
BUILD_TESTS[boolean]Option for building sdbus-c++ unit and integration tests, invokable by
make test. That incorporates downloading and building static libraries of Google Test.OFFby default. Use-DBUILD_TESTS=ONto enable building the tests. With this option turned on, you may also enable/disable the following options:-
BUILD_PERF_TESTS[boolean]Option for building sdbus-c++ performance tests.
OFFby default. -
BUILD_STRESS_TESTS[boolean]Option for building sdbus-c++ stress tests.
OFFby default. -
TESTS_INSTALL_PATH[string]Path where the test binaries shall get installed. Set to
/opt/test/binby default.
-
Dependencies
C++17- the library uses C++17std::uncaught_exceptions()feature. When building sdbus-c++ manually, make sure you use a compiler that supports that feature.libsystemd- systemd library containing sd-bus implementation. Systemd v236 at least is needed for sdbus-c++ to compile.googletest- google unit testing framework, only necessary when building tests, will be downloaded and built automatically
Licensing
The library is distributed under LGPLv2.1 license.
References/documentation
Contributing
Contributions that increase the library quality, functionality, or fix issues are very welcome. To introduce a change, please submit a pull request with a description.